输入字符串: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
谢谢
没有正则表达式(因为正则表达式对此太过分了):
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
正如评论中指出的那样,如果预期此输入具有不同的格式,您需要提供更多详细信息。
尝试这样:
string replaced = Regex.Replace(input, @"\b(\w+)\+SUM\(\1\)", "0+0");
这将匹配任何形式的
foo+SUM(foo)
并将其替换为0+0
也许:
替换^A
为0
替换SUM\(A\)
为0