削除する必要があるのはLF
、ではなく、だけCRLF
です。それについて何か考えはありますか?
PHP、notepad ++、シェルスクリプトなどを使用できます
In notepad++
Try this : (?<!\r)\n
Make sure to set the option for regular expression in the search options, hope it helps
LFは改行文字の略で、ASCII 10、0x0A、または「\ n」(PHPの場合)です。だから
search_replace( "\n", '', $text)
プレノートCRLFは、実際には2文字の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);
Notepad ++では、検索/置換を使用し、拡張(左下)にチェックマークを付けて置換します
\n
何もしません。