我正在这样做,就像在answer中一样:
string test = "test\"test";
test = test.Replace("\\\"", "");
但结果仍然是test = "test\"test"
。
结果应该为test = "testtest"
,为什么我的替换不起作用?
答案 0 :(得分:7)
因为您的字符串实际上是test"test
而不是test\"test
。反斜杠用于转义双引号,它不在实际字符串中。
尝试使用逐字字符串:
string test = @"test\""test"; // equivalent to test\\\"test
答案 1 :(得分:0)
修改字符串时,应该从代码角度考虑而不是输出,或者仅复制要替换的子字符串。试试这些:
string test = "test\"test"; //you actually want the \" part out
test = test.Replace("\"", ""); //so put \" into Replace("HERE","")
或
string test = "test\\\"test";
test = test.Replace("\\\"", "");