dagaga2.com:8ddagd1:dbcc:eLXLBdRdd?a'badagahaha
dadadagh.com:299515:dgan6hhna:992969199269196
dad2agh.com:299515:dganhna:992969199269196
dadada5uwuwgh.com:299ju515:dgaenhna:9929691998d269196
dada12d6agh.com:29951ha165:dgaja2nhn126a:992969117123d72199269196
如何删除
所有行中第二个冒号 (:) 后面的所有内容?
就像这样?
dagaga2.com:8ddagd1:
text:text:text:empty
text:text:text:empty
答案1
与 Frank Thomas 的解决方案相比,这是一个更通用的解决方案:
查找内容:(([^:]*\:){2}).*
替换为:\2
这将删除第二次之后的所有内容:
答案2
在查找和替换 GUI 中,选中 复选框Regular expression
,然后输入查询,例如:
找什么:(^\S*)(\:)(\S*)(\:)(.*)$
用。。。来代替:\1\2
这将替换dagaga2.com:8ddagd1:dbcc:eLXLBdRdd?a'badagahaha
为dagaga2.com:8ddagd1:
。
请注意,必须使用:
前导反斜杠对字符进行转义。否则正则表达式解析器将无法正确读取它们。
你在这里做的事情是,在字符串中指定捕获组,括号。然后在末尾添加(.*)
,以获取所有剩余的字符串,无论它是什么。
replace 语句是反向引用,意思是“只给我前两个捕获组”。捕获组由括号创建,这就是为什么我们必须将要查找的字符串放在括号内。