2

数字が続く場合、疑問符の文字?をテキストに置き換えたい。Rs?

これは私が試したものです。しかし、機能していません。

 string str = "DFg sdfsdaf ?145 dfgsdf ?fg";
 str = str.Replace(@"\\?", "Rs");
 Console.WriteLine(str);

望ましい出力:

DFg sdfsdaf Rs145 dfgsdf ?fg

助けてください。

4

3 に答える 3

4

このようにも試してください:

System.Text.RegularExpressions.Regex.Replace(str,@"\?(?=\d+)","Rs");

これを読むことをお勧めします。上記のパターンは、を探して、その後に1 つ以上の時間?が続くかどうかをチェックしてから、に置き換えます。digit?Rs

于 2012-11-15T08:23:18.413 に答える
3

これを試して:

Regex.Replace(str, @"\?(\d)", @"Rs$1")

これは、リテラルの疑問符の後に数字が続くものと一致し、Rsその後にその数字が続くものに置き換えます。数字以外が続く疑問符は変更されません。

例:

var str = "DFg sdfsdaf ?145 dfgsdf ?fg";
Console.Out.WriteLine(Regex.Replace(str, @"\?(\d)", @"Rs$1"));

出力:

DFg sdfsdaf Rs145 dfgsdf ?fg
于 2012-11-15T08:18:51.163 に答える
1

この正規表現を試してください

\\?((?:\d+))

これを処理するには正規表現を使用します:-

  Regex oRegex = new Regex(@"\?((?:\d+))");
  str = oRegex.Replace(str, "Rs$1");
于 2012-11-15T08:14:59.697 に答える