如何使用正则表达式删除第二个特定字符后的所有内容?

3

我有一个类似以下列表的东西:

xxxxx|xxxxxx|xxxxx@example.com
xxxxx|xxxxxx|xxxxx@example.com
xxxxx|xxxxxx|xxxxx@example.com

x可以是字母或数字,但不能是其他字符。

我想要做的是将第二个|右侧的所有内容(包括该字符)替换掉。结果应该是这样的:

xxxxx|xxxxx

我想用正则表达式来完成,这样我就可以在Notepad++中替换所有出现的内容。
2个回答

7

4

\|[^\|]+$ 替换为空字符串。

这将匹配 |xxxxx@example.com,因此如果您用空字符串替换它,就可以实现您想要的效果。


只有在第二个管道符号“|”后面的任何内容不包含另一个管道符号时,才能正常工作。 - Jonathan Leffler
1
@Jonathan,你说得对,但是根据问题描述,x所代替的位置只会是字母或数字,并且之后会有一个@和一个. - daalbert
我有一座漂亮的布鲁克林桥可以卖给你 :D - Jonathan Leffler
我理解您的观点,并且相信防御性编程,但问题是关于使用文本编辑器替换功能的非常特定的场景。有时候您需要覆盖每种可能的情况并保护自己,但有时候您只需要一个快速简单的解决方案来完成一项任务... - daalbert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接