-7

入力文字列:A+SUM(A)C+AB-C+SUM(A)+1

A を 0 に置き換えたいのですが、結果は次のようになります。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

多分:

^Aと置き換えます0

SUM\(A\)と置き換えます0

于 2013-01-22T12:10:19.417 に答える
0

このようにしてみてください:

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

これは、フォームのすべてに一致します

foo+SUM(foo)

そしてそれを0+0

于 2013-01-22T12:49:00.600 に答える