我有多个html文件,其中一些有一些空白行,我需要一个正则表达式来删除所有空行并只留下一个空行..所以它删除任何多于一个空行,并留下那些只是一个或没有(没有像在其中有文字)。
我还需要考虑不完全空白的行,因为有些行可能有空格或制表符(不显示的字符),所以我需要考虑这些行与正则表达式被删除只要它不止一行......
答案 0 :(得分:9)
搜索
^([ \t]*)\r?\n\s+$
并替换为
\1
<强>解释强>
^ # Start of line
([ \t]*) # Match any number of spaces or tabs, capture them in group 1
\r?\n # Match one linebreak
\s+ # Match any following whitespace
$ # until the last possible end of line.
\1
将包含第一行空格字符,因此当您将其用作替换字符串时,只会保留第一行空格(不包括末尾的换行符)。
答案 1 :(得分:9)
这对我notepad++ v6.5.1. UNICODE windows 7
搜索:^[ \t]*\r\n
替换为:没有,留空
搜索模式:Regular expression.
答案 2 :(得分:2)
搜索(\r?\n(\t| )*){3,}
,替换为\r\n\r\n
,选中“正则表达式”和“。匹配换行符”。
使用Notepad ++ 6.2进行测试
答案 3 :(得分:2)
这将替换包含空格(或不包含空格)的连续空白行,并将其替换为一个新行。
搜索
(\s*\r?\n){3,}
替换为
\r\n
答案 4 :(得分:2)
您可以自己找到需要替换的内容
\ n \ n OR \ n \ r \ n或\ r \ n \ r \ n等...现在您甚至可以根据需要修改正则表达式^([ \t]*)\r?\n\s+$
。
答案 5 :(得分:1)
我测试了上述任何建议,总是太少或太多被删除。所以要么你没有空白行,其中至少有一个是事先删除或删除不够(留下空白等)。不幸的是我还没有写评论。使用6.1.5进行测试并更新到6.2并再次测试。根据mayn文件的不同,我建议使用
Edit->Blank Operations->Trim trailing whitespace
其次是 Ctrl + A 和
TextFX -> TextFX Edit -> Delete surplus blank lines
我尝试录制的宏无法正常工作。甚至还有一个宏来删除尾随空格( Alt + Shift + S ,请参阅设置|快捷键映射器... |宏)。有一个
Edit->Blank Operations->Remove unnecessary EOL and whitespace
但删除每个EOL并将所有内容放在一行中。
答案 6 :(得分:0)
我查找了$counter = 1;
foreach ($row as $r){
if($counter<=8)
{
echo '<tr>
<td>'.$r['number'].'</td>
<td>$ <span>'.$r['price'].'</span></td>
</tr>';
}
else {
echo '<tr>
<td>Number '.$counter.'</td>
<td>$ <span>'.$r['price'].'</span></td>
</tr>';
}
$counter++; //here incrementing the variable .
}
并点击了“替换为”文本框中没有任何内容(空白)的“全部替换”。