-7

输入字符串:A+SUM(A)C+AB-C+SUM(A)+1

我想用0替换A,结果如下:0+SUM(A)C+AB-C+SUM(A)+1

或将 SUM(A) 替换为 0,结果如下:A+SUM(A)C+AB-C+0+1

谢谢

4

3 回答 3

2

没有正则表达式(因为正则表达式对此太过分了):

var s = "A+SUM(A)+B-C";

var replaceBeginningA = s.Replace("A+", "0+");
var replaceSumA = s.Replace("SUM(A)", "0");

Console.WriteLine(replaceBeginningA); // 0+SUM(A)+B-C
Console.WriteLine(replaceSumA); // A+0+B-C

正如评论中指出的那样,如果预期此输入具有不同的格式,您需要提供更多详细信息。

于 2013-01-22T12:14:03.627 回答
0

尝试这样:

string replaced = Regex.Replace(input, @"\b(\w+)\+SUM\(\1\)", "0+0");

这将匹配任何形式的

foo+SUM(foo)

并将其替换为0+0

于 2013-01-22T12:49:00.600 回答
0

也许:

替换^A0

替换SUM\(A\)0

于 2013-01-22T12:10:19.417 回答