使用Notepad++的“查找和替换”功能,我想在字符或字符串的第n次出现时插入新行(在我的情况下为逗号)。

我已经使用“正则表达式”模式尝试过下面的正则表达式,但是没有运气。

查找内容: ((,){1000})
替换为:\1\n

最佳答案

如果您的意思是在一行中第n次出现任何字符串后添加换行符,我会使用

(?:.*?,){2}

并替换为$&\n(或$&\r\n),其中.*?匹配除换行符以外的任何0+字符,并尽可能少地匹配到首次出现,$&是对整个匹配值的反向引用(2用于使演示看起来更清晰,1000是一个相当大的值)。观看演示,该演示显示在第二个,之后放置换行符。

对于单个字符,您最好使用一个否定的字符类(但在其中添加换行符以强制模式不跨行溢出):
(?:[^\n\r,]*,){2}

regex - Notepad++在字符串/字符的第n次出现时插入新行-LMLPHP

10-07 14:06
查看更多