我在Notepad ++中有数以千计的条目(混合在其他文本中),我试图删除任意2个数字之间的短划线符号。
我有这样的数据:
text text this is text here
234-5678
this is more text here
123-4585 this is more text here
or text is here too 583-5974
期望的结果:
text text this is text here
2345678
this is more text here
1234585 this is more text here
or text is here too 5835974
我试过了:
Find: [0-9]-[0-9] (which works to find the (#)(dash)(#)
Replace: $0, $1, \1, ^$0, "$0", etc.
答案 0 :(得分:3)
试试这个正则表达式。
(?<=\d)-(?=\d)
答案 1 :(得分:2)
你的方法有什么问题:
Find: [0-9]-[0-9] (which works to find the (#)(dash)(#)
Replace: $0, $1, \1, ^$0, "$0", etc.
当您的查找正则表达式没有任何内容时,$0
或$1
等是否会引用捕获的组。如果你这样做会有用:
Find: ([0-9])-([0-9])
Replace: $1$2
$1
将包含第一个数字,$2
包含第二个数字。
当然,现在使用edi_allen's answer中的外观((?<= ... )
是一个积极的外观,(?= ... )
是一个积极的前瞻)也可以工作并避免使用反向引用的麻烦({ {1}}和$1
)。
$2
包含整场比赛。 $0
包含第一个捕获的组,$1
包含第二个捕获的组。