Notepad++:: 通过 Regex 完全删除包含问号的行
Notepad++:: Completely remove lines that contains question mark via Regex
好吧,我想这就是我要实现的目标的自我解释。
这是我当前文本文件的示例:
"Diva" was the winning song of the Eurovision Song Contest 1998.
Who will win Eurovision Song Contest 2015?
Eurovision Song Contest Statistics:
Who will win Eurovision 2015?
这就是我想要得到的:
"Diva" was the winning song of the Eurovision Song Contest 1998.
Eurovision Song Contest Statistics:
所以基本上包含 ?
字符的每一行(位置不一定必须在行尾)将被替换为空。
我已经试过了[^\r\n]*?[^\r\n]*([\r\n]+|$)
但是它删除了太多。
^[^\n]*\?[^\n]*(?:\n|$)
通过 empty string
尝试 this.Replace。查看演示。
您可以使用 [^\r\n]*\?[^\r\n]*([\r\n]+|$)
正则表达式来匹配具有 ?
符号的行。马克. matches newline
.
替换为空字符串。
为了处理任何换行:
查找内容:^.*\?.*(\R|$)
替换为:<NOTHING>
\R
代表任何换行符,即。 \r
、\n
和 \r\n
确保选中 Regular Expression
而 dot matches newline
未选中。
您可以避免使用正则表达式并使用查找 window 的标记 选项卡。 Select 搜索模式为普通,也select 书签行。将 Find what 设置为 ?
,然后单击 Mark all。接下来使用菜单 => Search => Bookmarks => Remove bookmarked lines.
好吧,我想这就是我要实现的目标的自我解释。
这是我当前文本文件的示例:
"Diva" was the winning song of the Eurovision Song Contest 1998.
Who will win Eurovision Song Contest 2015?
Eurovision Song Contest Statistics:
Who will win Eurovision 2015?
这就是我想要得到的:
"Diva" was the winning song of the Eurovision Song Contest 1998.
Eurovision Song Contest Statistics:
所以基本上包含 ?
字符的每一行(位置不一定必须在行尾)将被替换为空。
我已经试过了[^\r\n]*?[^\r\n]*([\r\n]+|$)
但是它删除了太多。
^[^\n]*\?[^\n]*(?:\n|$)
通过 empty string
尝试 this.Replace。查看演示。
您可以使用 [^\r\n]*\?[^\r\n]*([\r\n]+|$)
正则表达式来匹配具有 ?
符号的行。马克. matches newline
.
替换为空字符串。
为了处理任何换行:
查找内容:^.*\?.*(\R|$)
替换为:<NOTHING>
\R
代表任何换行符,即。 \r
、\n
和 \r\n
确保选中 Regular Expression
而 dot matches newline
未选中。
您可以避免使用正则表达式并使用查找 window 的标记 选项卡。 Select 搜索模式为普通,也select 书签行。将 Find what 设置为 ?
,然后单击 Mark all。接下来使用菜单 => Search => Bookmarks => Remove bookmarked lines.