在记事本++中计算一行中的字符

时间:2014-02-26 13:15:22

标签: regex notepad++

我正在尝试计算单行中某个字符出现的次数,然后编辑它所执行的行。

说我有一条线:

\serv\file\subfile\subsubfile\subsubsubfile

有什么方法可以计算\字符出现的次数,如果它看起来不超过两次,请清除该行并将其留空?

3 个答案:

答案 0 :(得分:4)

找到^([^\\]*[\\]?[^\\]*){0,2}$

替换为空字符串

答案 1 :(得分:2)

这是你想做的事吗?

查找 - ^(?!.*\\.*\\.*\\.*).*$\r\n

替换 -

enter image description here

执行Replace All时,您还可以获得已替换的行数 - 为您提供计数

在我的示例中,第2行,第4行和第5行将被删除,因为它们的斜杠数少于2()

答案 2 :(得分:1)

试试这个正则表达式:

^[^\\]*\\[^\\](?:*\\[^\\]*)?$

什么都不替换。这里的解释和演示:http://regex101.com/r/qW0jE3

如果您想更改允许的\个数,您有三个选择:

  • 更改上述正则表达式中的(?:*\\[^\\]*)的数量。
  • 更改此正则表达式中的第二个数字:^(?:[^\\]*\\[^\\]*){0,2}$
  • 更改此正则表达式中的第一个数字:^(?:\\?[^\\]*){2}$