假设下面的字符串是在C#中,如何替换
y=x^7+3x^4-x+5
与
y=0^7+3*0^4-0+5
因为不能用 0
替换 x
的所有实例,因为那样你会得到 30^4
最佳答案
var a = "y=x^7+3x^4-x+5";
var b = Regex.Replace(a, @"(\d+|[a-zA-Z])(?=\d+|[a-zA-Z])", @"$1*");
var c = Regex.Replace(b, @"x", @"0");
第 2 行的摘要:匹配任何数字或变量后跟任何数字或变量。
输出示例:
In: y=33xggyz/3/4*x/x+xx1 | In: y=x^7+3x^4-x+5
Out:y=33*x*g*g*y*z/3/4*x/x+x*x*1 | Out:y=0^7+3*0^4-0+5
|
In: y=2+33xggyz/3/4*x/x+xx | In: y=x1
Out:y=2+33*0*g*g*y*z/3/4*0/0+0*0 | Out:y=0*1
|
In: y=10xy^2+xx+(12x+1yy) | In: y(xx)=1
Out:y=10*0*y^2+0*0+(12*0+1*y*y) | Out:y(0*0)=1
已更新:(7/4/2015)修复错误,y=x1 失败(返回 y=01)
关于c# - 在特定字符 c# 之前插入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215018/