3

次のような文字列があります。

\r\n \r\n 何とかテキスト \r\n \r\n \r\n \r\n 他のテキスト \r\n \r\n \r\n \r\n 何とか何とか \r\n \r\n \r\n r\n

<br>複数の改行のインスタンスを 1 つのタグと単一の \r\n に置き換えたい<br>

したがって、上記のテキストは次のようになります。

<br>  Some text blahblah <br><br> Some other text <br><br> blah blah blah <br>

これを試してみましたが、間のスペースが考慮されていません: \r\n \r\n

Regex.Replace(text, @"[\r\n]+", "<br>")
4

3 に答える 3

0

たぶんこれを試してみてください(正規表現ではありませんが、機能します:))、これはの奇数/偶数をサポートし、欠落している\r\n場合は開始と終了にタグを追加します。\r\n

 var result = string.Concat(text.Split(new char[] { '\r', '\n' })
                .Where(l => !string.IsNullOrWhiteSpace(l))
                .Select(s => string.Format("<br> {0} <br>",s)));

結果:

\r\n \r\n Some text blahblah \r\n \r\n \r\n \r\n Some other text \r\n \r\n \r\n \r\n blah blah blah \r\n
"<br> Some text blahblah <br><br> Some other text <br><br> blah blah blah <br>"

 \r\n \r\n Some text \r\n Some other \r\n \r\n \r\n  blah blah blah 
"<br> Some text <br><br> Some other <br><br> blah blah blah <br>"
于 2013-03-08T10:11:50.577 に答える
0

これはどうですか:

Regex.Replace(text, @"([\r\n]\s*)+", "<br>")

または、改行の実行後にスペースを消費したくない場合は、次のようにします。

Regex.Replace(text, @"[\r\n](\s*[\r\n])+", "<br>")
于 2013-03-08T10:13:00.510 に答える
-2

これは仕事をするはずです

string myString = "\r\n \r\n Some text blahblah \r\n \r\n \r\n \r\n Some other text \r\n \r\n \r\n \r\n blah blah blah \r\n";
myString = Regex.Replace(myString, @"(?:\r\n *){1,2} *", "<br>");

生産します

<br>Some text blahblah <br><br>Some other text <br><br>blah blah blah <br>
于 2013-03-08T10:12:58.007 に答える