如何在Notepad++中按第二个下划线分隔处理制表符文件内容?
没问题,我来帮你搞定这个正则表达式的问题!要实现以第二个下划线为分隔、保留到第二个下划线之前的内容,你可以在Notepad++里用以下两种方案:
方案1:通用场景(支持字符串含2个及以上下划线)
查找正则:
^(.*?_.*?)_.*$
替换为:
$1
原理说明:
^:锚定字符串开头,确保从最开始匹配,不会漏掉前面的文本(.*?_.*?):这是我们要保留的捕获组,用非贪婪匹配(.*?)先找到第一个下划线,接着再匹配到第二个下划线之前的所有内容,精准锁定到第二个下划线的位置_.*$:匹配第二个下划线及其后面的所有内容直到字符串结尾,这部分就是我们要删除的内容- 替换时用
$1调用捕获组,就只留下了我们需要的部分
方案2:简化场景(仅当每个字符串固定只有2个下划线时)
如果你的所有目标字符串都和例子一样只有2个下划线,那可以用更简洁的写法:
查找正则:
_[^_]*$
替换为:
(直接留空即可)
原理说明:
_[^_]*$:匹配最后一个下划线(因为[^_]*会匹配任意非下划线字符直到结尾)以及后面的所有内容,直接替换为空就能达到删除第二个下划线及后续内容的效果
效果验证
用你的测试内容测试:
- 原内容:
Apple Fruit_00001_gxw@1983→ 替换后得到Apple Fruit_00001 - 原内容:
Peach Fruit_00002_gxw@1968→ 替换后得到Peach Fruit_00002 - 原内容:
Berry Fruit_00003_f@1973→ 替换后得到Berry Fruit_00003
完全符合你的需求!另外别忘了在Notepad++的替换窗口里勾选「正则表达式」选项,并且不要勾选「. 匹配换行符」,这样才能正常运行哦。
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

