提问人:Yos 提问时间:11/14/2023 更新时间:11/14/2023 访问量:44
如何删除以一堆制表符/空格记事本++开头的行
How to remove the line that start with bunch of tabs/spaces notepad++
问:
我的文本文件包含如下内容
asd signal1;/* '<Root>/explain1' */
asd signal2;/* '<Root>/explain2' */
asd signal3;
/* '<Root>/explain3' */
asd signal4;
/* '<Root>/explain4' */
asd signal5;/* '<Root>/explain5' */
如何使用替换 (Ctrl + H) 删除所有行尾和下一行中的空格以使它们变成这样的内容?
asd signal1;/* '<Root>/explain1' */
asd signal2;/* '<Root>/explain2' */
asd signal3;/* '<Root>/explain3' */
asd signal4;/* '<Root>/explain4' */
asd signal5;/* '<Root>/explain5' */
我试图用谷歌搜索如何做到这一点,但没有任何东西与我正在寻找的东西相符
答:
1赞
Tim Biegeleisen
11/14/2023
#1
通过反复试验,我发现以下模式似乎有效:
;\s+(.*?)(?=\r?\n|$)
这匹配:
;
分号\s+
一个或多个空格字符(.*?)
然后在所有内容中匹配 AND 捕获,直到$1
(?=\r?\n|$)
向前看,看到最近的换行符或输入结束
演示
替换是 ,它有效地去除了 assembly 命令之后、C 样式注释之前的所有空格。;$1
注意:在点全部模式下运行上述正则表达式,以便该术语可以跨换行符匹配。(.*?)
1赞
The fourth bird
11/14/2023
#2
使用 Notepad++,您可以使用:
;\K\s+
该模式匹配:
;
匹配分号\K
忘记到目前为止匹配的内容\s+
匹配一个或多个也与换行符匹配的空格字符
观看正则表达式演示。
在替换中,使用空字符串。
如果你想让它更精确一点,你可以用积极的前瞻来向右断言:/*
;\K\s+(?=/\*)
评论
;\s+
;