0

以下に示す文字列があります

A123459922

Aを削除し、その最後に正規表現を使用してBを追加したいと思います。正規表現を使用してそれを行うにはどうすればよいですか

Regex.Replace("A123459922","(\w{1})(\d*)");

最初の文字を削除して、最後に「B」を追加する方法が正確にわかりません。このようなものになってしまった

123459922B
4

3 に答える 3

2

私はあなたの質問と同じ正規表現を使用します。

あなたはこれを見ることができます(より複雑な状況のために)

Regex.Replace("A123459922",@"(\w{1})(\d*)", m => m.Groups[2].Value + "B");

Replaceメソッドの3番目のパラメーターを参照してください。これはMatchEvaluator、を受け取りMatch、置換文字列を返す、です。上記の式は次と同等です。

private static void Main()
{
    Regex.Replace("A123459922",@"(\w{1})(\d*)", Evaluator);
}

private static string Evaluator(Match m) {
    return m.Groups[2].Value + "B";
}

あなたは基本的に言っていますthe entire match:私はに置き換えたいthe 2nd group + the B character

于 2013-02-26T09:26:39.360 に答える
2

与えられた入力と出力の文字列の例によると、これは次のように簡単に行うことができますSubstring()

var newString = myString.Substring(1) + "B";
于 2013-02-26T09:28:00.717 に答える
1

この正規表現を使用してみてください:

Regex.Replace("A123459922", @"\w(.*)", "$1B");
于 2013-02-26T09:30:51.300 に答える