如何使用正则表达式使用记事本++删除超出此 10 个字符的字母数字字符串的所有内容

如何使用正则表达式使用记事本++删除超出此 10 个字符的字母数字字符串的所有内容

我有一个长文本文件,其中有一些需要清理的垃圾数据。

条目如下。

American Chopper    0x4156003D  American Chopper    5849
American Chopper 2: Full Throttle   0x4156004F  American Chopper 2 Full Throttle    5849
America's Army: Rise of a Soldier   0x55530043  America’s Army:RoaS 5849

我需要删除以 开头的 10 位字母数字字符串以外的所有内容0x

结果应该看起来像

American Chopper    0x4156003D
American Chopper 2: Full Throttle   0x4156004F
America's Army: Rise of a Soldier   0x55530043

答案1

你可以通过如下方式找到它们之后的字符:

  1. 在查找内容框中,输入以下公式:(?<=0x[A-Z0-9]{8}).*
  2. 在替换为框中,不输入任何内容(空字符串)。
  3. 选择正则表达式,然后单击全部替换。

由于您的字符串似乎始终是十六进制数字,因此您可以将Z公式中的 替换为F。您还可a-f以为小写字母的情况添加 。公式将是:(?<=0x[A-Fa-f0-9]{8}).*

解释:?<=0x[A-Z0-9]{8}).*是一种积极的背后观察,它将找到/匹配紧跟在 10 个字母数字字符串之后的所有字符。

图片:

相关内容