为什么replace无法替换(在线等)
写了一个函数
private string Injection(string wd)
{
string InjeTxt = "select|update|insert|delete|declare|@|exec|=|<|>";
string[] InjeTxtArr;
InjeTxtArr = InjeTxt.Split('|');
for (int i = 0; i < InjeTxtArr.Length; i++)
{
wd.Replace(InjeTxtArr[i].ToString(), ",");
}
return wd;
}
调用的时候传进去"selectdwef"
返回的仍然是"selectdwef"
这是什么问题啊!
[解决办法]
Replace的结果是一个新的字符串,而不是对原串的修改,因此代码应如下:
private string Injection(string wd){ string InjeTxt = "select|update |insert |delete |declare |@ |exec |= |< |> "; string[] InjeTxtArr; InjeTxtArr = InjeTxt.Split('|'); for (int i = 0; i < InjeTxtArr.Length; i++) { wd = wd.Replace(InjeTxtArr[i].ToString(), ","); } return wd;}
[解决办法]
wd = wd.Replace(InjeTxtArr[i].ToString(), ",");