c#中的字符串替换

时间:2011-06-21 19:02:11

标签: c#

  

可能重复:
  String replace not working

我喜欢这样的:

string url = "abc=$abc";
url.Replace("$abc", "123");

然后我的预期是url =“abc = 123”。但实际上,在运行上面的代码之后,结果仍然是“abc = $ abc”,而不是“abc = 123”。

如何解决此问题?

8 个答案:

答案 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");