我有一个字符串,下面如何使用正则表达式替换C#
A123459922
我想删除A和正则表达式与加B到它的结束所示。我怎么能这样做正则表达式
Regex.Replace("A123459922","(\w{1})(\d*)");
我不知道如何删除第一个字符,并添加'B'到它的结尾?结束了这样的事情
123459922B
我有一个字符串,下面如何使用正则表达式替换C#
A123459922
我想删除A和正则表达式与加B到它的结束所示。我怎么能这样做正则表达式
Regex.Replace("A123459922","(\w{1})(\d*)");
我不知道如何删除第一个字符,并添加'B'到它的结尾?结束了这样的事情
123459922B
我会用你的问题相同的正则表达式。
你可以看看这个(用于更复杂的情况)
Regex.Replace("A123459922",@"(\w{1})(\d*)", m => m.Groups[2].Value + "B");
见Replace
方法的第三个参数。它是一个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 2nd group + the B character
更换the entire match
根据你给定的输入和输出字符串例如,你可以做到这一点简单地用Substring()
:
var newString = myString.Substring(1) + "B";
尝试使用此正则表达式:
Regex.Replace("A123459922", @"\w(.*)", "$1B");
Substring()有什么问题? – 2013-02-26 09:26:15
只有在开始时出现“A”时才需要添加“B”或者总是不管? – 2013-02-26 09:27:36
我明白了,但只是想知道正则表达式如何适用于这个问题 – wikinevis 2013-02-26 09:28:12