替换一个数字,后跟一个制表符,保留该数字并使用记事本++中的REGEX添加第二个制表符



>我有一个具有以下外观的文件:

399 MISC    KAK/BAR  0     0    0   0   0   0           
2   FOO     BAR      FOO   0    0   0   0   0   0

其中每个空格在实践中都是一个选项卡

我想删除字符串中的所有选项卡,以便以后可以使用tab delimiter将文件导入 Excel。

为此,我的想法是替换每个以制表符结尾的数字,保留数字,但添加一个额外的制表符。然后我想

replace t with(即一个空白步骤)

第一步,要在结束序列的每个数字后面添加一个额外的制表符,我尝试使用以下Replace使用REGEX

Search for ^[-9]t
Replace with $0t

但是,这仅在我有一个数字时才有效,并且仅当它出现在第一列中时才有效。在我的示例中,它变为:

399tMISCtKAK/BARt0t0t0t0t0t0            
2ttFOOtBARt0t0t0t0t0

但我希望它变成:

399ttMISCtKAK/BARt0tt0tt0tt0tt0tt0            
2ttFOOtBARt0tt0tt0tt0tt0

即每个number sequence后都有一个双选项卡。在我后来的输出中,我t包含选项卡,因为我相信在编写实际输出时很难确定它是双选项卡还是单选项卡。

有谁知道我该如何实现这一目标?

使用以下正则表达式替换:

查找内容:    [0-9]t
替换为$0t

^插入符号是 NPP 中行锚点的开头,仅当行首有一个数字后跟有一个制表符时,它才会允许您进行模式匹配。因此,[0-9]t将匹配一行上任何位置的任何 1 位数字和它后面的t

详情

  • [0-9]- 匹配任何 ASCII 数字
  • t- 选项卡
  • $0- 引用整个匹配文本的反向引用
Search:  d+t
Replace: $0t

表达式d+匹配任何(不间断的)数字字符串,例如01446。Notepad++ 6.0 或更高版本附带内置 PCRE 支持。

最新更新