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方法的第三个参数。它是 a MatchEvaluator,它接收 aMatch并返回替换字符串。上述表达式等价于:

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 matchthe 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 回答