我只需要移除LF
,而不是CRLF
。有什么想法吗?
我可以使用PHP,notepad ++,shell脚本等
答案 0 :(得分:7)
在记事本++中
试试这个:(?<!\r)\n
确保在搜索选项中设置正则表达式选项,希望有所帮助
答案 1 :(得分:3)
答案 2 :(得分:1)
LF代表换行符,即ASCII 10或0x0A或“\ n”(在PHP中)。所以就这样做
search_replace( "\n", '', $text)
请注意CRLF实际上是两个字符CR(回车)+ LF。如果你删除LF,你的文本中仍然会有CR(如果有的话)。
修改强>
如果你只想删除独立的LF但保留CRLF,那么上面的代码是错误的,因为它会将CRLF变成CR。使用preg_replace()
执行此操作
preg_replace("/(?<!\\r)\\n+(?!\\r)/", '', $text);
如果出于任何原因你不想使用preg_replace()
(但无论如何都要使用它),那么你可以尝试这种愚蠢的方法:
// save CRLFs by replacing with some text that does
$tmp = str_replace("\r\n", 'S0m3L1k3LyUn1Qu3T3X7', $text);
// get rid of LFs
$tmp = str_replace("\n", '', $tmp );
// restore CRLFs
$text = str_replace('S0m3L1k3LyUn1Qu3T3X7', "\r\n", $tmp);
答案 3 :(得分:1)
在Notepad ++中,您使用搜索/替换,勾选扩展(左下角)并替换
\n
什么都没有。