使用正则表达式删除“|”后面的所有内容(包括“|”)。

59

我试图找到解决我的问题的方案。

输入:

This is the sample title | mypcworld

输出:

This is the sample title
我想使用简单的正则表达式在notepad++中删除“ | ”之后的所有内容。 这似乎是非常简单的一个。但我曾尝试过其他一些正则表达式,例如在此处列出的“|.*$”,但没有成功。问题在于字符“|”是或的替代等价物。 所以请帮我解决它。

1
在管道符号前面使用反斜杠 \\ 怎么样? - Foo L
抱歉,我没有注意到那个特殊字符问题。谢谢。 - Alex Ms
3个回答

131
< p > 管道符 < code > | 是正则表达式中的特殊字符(表示“或”),您需要用 < code > \ 进行转义。 < / p > < p > 使用您当前的正则表达式: < / p >
\|.*$

我已经像你提到的那样在Notepad++中尝试了这个方法,看起来运行良好。


6
由于某些原因,这让我完全不明白问题要问什么……??? - CodeCamper
@Radioactive,这个问题是关于在Notepad++中“删除”|之后的所有内容。如果你使用Ctrl+H(查找+替换),在“查找内容”字段中输入我的建议,并在“替换为”字段中使用空字符串,确保选择了“正则表达式”,然后点击“替换”按钮,它应该按照描述的方式工作。我刚刚再次测试了一下,7年后,它仍然有效 =] - newfurniturey

16
如果您想获取竖线后的所有内容但不包括竖线字符,请使用以下代码。
[^|]*$

其他解决方案 \|.*$

Results : | mypcworld

这个正则表达式 [^|]*$

Results : mypcworld

http://regexr.com/3elkd


这对我非常有效。但是为什么“^.*$”不起作用呢?它指定可以以任何字符“.”开头和结尾,但它似乎无法找到任何内容,至少对于我的AegiSub程序来说是这样的。 - CreativiTimothy

7
在使用Notepad++打开的txt文件中,
按下 Ctrl-F
选择 "替换" 选项卡
在 "查找内容" 中输入正则表达式模式 \|.+
在 "替换为" 中留空
接着,在选择 "正则表达式" 之后勾选 "匹配换行符"
点击两次 "替换" 按钮。

在Notepad++中,按下CRTL+H将直接跳转到“替换”选项卡,因此可以使用它来代替CRTL+F并切换到“替换”选项卡。 - nanosoft

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