2016-04-05 5 views
1

多くの改行文字列があります。それらには2つのタイプがあります。 \ nと\ r \ n私は\ r \ n改行を残したいが、\ nものを取り除きたい。これを行う簡単な方法はありますか?私がreplaceメソッドを使うと、\ r \ nブレークにも影響するでしょうか? nを削除しますが、 r nはそのままです。

string text = "This is a \ntext there should \nonly be one line break\r\n"; 

var newtext = text.Replace("\n", ""); 

ここで、出力は私が出力にこの文字列は「これがテキストで唯一の改行の\ r \ nがあるはず」?作るにはどうすればよい

newtext = "This is a text there should only be one line break\r" 

だろうか

+0

あなたは\ nをターゲットとすることはできないはずです正規表現を使用するには、\ rを\ nは –

答えて

3

あなたが唯一\rによって先行されていない\n文字を置き換えますルック背後で正規表現を使用することができ、正規表現

var text2 = Regex.Replace(text, @"([^\r])\n", "$1"); 
+0

が、それはまた、\ nは –

+0

をと離れて1つのスペースを取って@MaheshChandあなたは正しいです、私は答えを更新しました... – Eser

0

を使用することができます。

var replacement = Regex.Replace(text, @"(?<!\r)\n",""); 

することができますsee a working example in action hereこと次の入力を使用します。

Regex.Replace("Line 1\n Still Line 1\r\nLine 2\n Still Line 2", @"(?<!\r)\n",""); 

得た:

Line 1 Still Line 1 
Line 2 Still Line 2 
0
var replacedText = Regex.Replace(text, "(?<!\\r)\\n",""); 

enter image description here

関連する問題