0

ファイル内の改行 (Lf) を空の文字列 "" に置き換えたいと考えました。ただし、CrLf のもの (行末フラグ) の Lf も置き換えたくありません。

私は次のようなことを考えていました:

fileContent.Replace("\n","");

上記のコード行は、CrLf の Lf を Cr に置き換えるので、それは望ましくありません。CrLf の Lf を無視する正規表現を教えてください。

どうもありがとう。

PS: ロジックが変更されました。私はこれを使用しました:

fileContent = Regex.Replace(fileContent, @"\r\n(?=>)|(?<!\""\r)\n", ""); 

> の後に現れるすべての CrLf を空の文字列 ("") に置き換え、"Cr が続かないすべての改行 (Lf) を空の文字列 ("") に置き換えます。それは正しいですか? ありがとうございます。

4

2 に答える 2

3

他のRegular Expression答えに加えて、不要なデータのキャプチャを避けるために、否定的な後読みを使用できます。

string result = Regex.Replace(fileContent, @"(?<!\r)\n+", "");
于 2012-08-01T04:15:41.860 に答える
2

正規表現を使用できます。以下の RegEx は、入力の先頭または \r で始まる \n 文字に一致します。グループ内の \n の前の文字をキャプチャして、文字列に再挿入できるようにします。

string result = Regex.Replace(fileContent, @"(^|[^\r])\n", "$1");
于 2012-08-01T03:44:37.353 に答える