2017-04-12 4 views
-1

私は/ ntestをテストするだけですが、出力はテストテストですが、/ nを1つの空白に置き換えますが、いくつかのケース/ r/nも置き換えますが、私はこの正規表現の構文を返しますが、動作しないので、syataxは2つの単語の間に置き換えます。if-elsif-else条件でREGEXを使用する

string input = "/r/ntest/ntest/n/r" 
input = Regex.Replace(input, ".\n.", " "); 
+0

文字列入力= "\ r \ nテスト\ nテスト\ n \ r"; 入力= Regex.Replace(入力、 "。\ n。"、 ""); –

+0

1)コードに構文の問題があります。 2)あなたは何を意味していますか? –

答えて

0

は、私はあなたが非\ rの文字が正規表現に、\ nの前に存在することを、条件を提供しなければならないと思う - しかし、あなたが見つかりました。非\ rの文字を追加する必要があります置換文字列またはにそれが切り取られます:

Regex.Replace(input, @"(?<before>[^\r])\n", m => m.Groups["before"].Value + " "); 

(?< >前は...)は、後で

[^ \ r]を Dにアクセスすることができますという名前のグループを定義します\ rとされていない文字がM = >メートル...ここ

が存在することをefinesは、あなたができることを、特定の場合には別の方法として、この場合のmはマッチインスタンスである

ラムダ式です

input = input.Replace("\r\n", "\r").Replace('\n', ' ').Replace("\r", "\r\n"); 
+0

あなたの正規表現は 'Regex.Replace(input、@"(?<!\ r)\ n "、" ")'と書くことができます。 –

+0

ありがとうございます –

関連する問題