我喜欢这样的:
string url = "abc=$abc";
url.Replace("$abc", "123");
然后我的预期是url =“abc = 123”。但实际上,在运行上面的代码之后,结果仍然是“abc = $ abc”,而不是“abc = 123”。
如何解决此问题?
答案 0 :(得分:3)
你想要
url = url.Replace("$abc", "123");
Replace()
返回一个新的字符串实例,完成替换操作。它(以及所有其他字符串操作)不会更改原始字符串实例。
答案 1 :(得分:2)
字符串是不可变的,这意味着您创建了一个新字符串而不是更改原始字符串:
url = url.Replace("$abc", "123");
答案 2 :(得分:1)
字符串是不可变的,这意味着它不会发生变化。尝试将replace的结果分配给另一个字符串变量。
string url = "abc=$abc";
string newUrl = url.Replace("$abc", "123");
答案 3 :(得分:1)
试
url = url.Replace("$abc", "123");
<强> String.Replace Method 强>
返回一个新字符串,其中所有出现的指定Unicode 当前的字符或字符串 字符串被另一个替换 指定的Unicode字符或字符串。
答案 4 :(得分:1)
您需要设置原始字符串或新字符串,等于String.Replace返回的值。使用您的示例,执行以下操作:
string url = "abc=$abc";
url = url.Replace("$abc", "123");
答案 5 :(得分:1)
url = url.Replace("$abc", "123");
.Replace返回一个新字符串 - 如果要更改它,必须将其分配回原始字符串。
答案 6 :(得分:0)
url = url.Replace(“$ abc”,“123”);
答案 7 :(得分:0)
Replace返回一个字符串。所以你需要将你的第二个陈述改为:
url = url.Replace("$abc", "123");