我有一个带有此外观的文件:
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 ^[\0-9]\t
Replace with $0\t
但这仅在我有一个数字时才有效,并且只有当它出现在第一列时才有效。在我的例子中它变成:
399\tMISC\tKAK/BAR\t0\t0\t0\t0\t0\t0
2\t\tFOO\tBAR\t0\t0\t0\t0\t0
但我希望它成为:
399\t\tMISC\tKAK/BAR\t0\t\t0\t\t0\t\t0\t\t0\t\t0
2\t\tFOO\tBAR\t0\t\t0\t\t0\t\t0\t\t0
即。每个number sequence
后有一个双标签。在我后来的输出中,我将选项卡包含为\t
,因为我相信在编写实际输出时很难确定它是双选还是单选项卡。
难道我不知道如何实现这个目标吗?
答案 0 :(得分:1)
使用以下正则表达式替换:
查找内容:[0-9]\t
替换为:$0\t
^
插入符号是NPP中的行锚点的开头,如果在行开头有一个数字后面只有一个数字,它只会让你模式匹配。因此,[0-9]\t
将匹配任意1个数字,并在任何位置之后匹配\t
。
<强>详情:
[0-9]
- 匹配任何ASCII数字\t
- 标签$0
- 引用整个匹配文本的反向引用答案 1 :(得分:0)
Search: \d+\t
Replace: $0\t
表达式\d+
匹配任何(不间断的)数字字符串,例如01446
。 Notepad ++ 6.0或更高版本附带内置PCRE支持。