在Notepad ++中删除最后一位数字之前的字符

时间:2018-06-01 09:51:55

标签: regex notepad++

我想删除字符串中最后一位数字前的减号。字符串就像08131 66678-0。我正在寻找-\d{1}并找到它。

应该用什么替换搜索来删除减号?我尝试用\d{1}替换它 - 但我得到一个添加了\d{1}的字符串。

1 个答案:

答案 0 :(得分:3)

您可以使用

-(?=\d$)

并替换为空字符串。或者,可以使用捕获组+反向引用:

-(\d$)

替换为$1

下面,

  • - - 匹配并使用连字符(即将-放入要替换的匹配值中) - (?=\d$) - 一个积极的预测,只检查行后面是否有数字,但该数字未添加到匹配值且不会被替换
    • (\d$) - 一个捕获组,它使用字符串末尾的数字,并将值放入组内存缓冲区,可以使用替换模式中的$1占位符进行寻址。

如果值不在行的末尾,则可以在数字模式\b后面使用单词边界,或者使用否定前瞻(?!\d)(确保没有数字立即到达当前位置的右侧)而不是$