string.replace 不起作用

发布于 2024-12-08 00:16:06 字数 253 浏览 0 评论 0原文

我有一个接受字符串的函数(基本上是一个 XML 文档)。我正在进行此更改:

  if (filterXml.Contains("&"))
    {
        filterXml.Replace("&", "&");
    }

它遇到了这种情况,但没有替换

 & to &

这里出了什么问题?

I have function which accepts string (which is basically a XML doc). I am making this change:

  if (filterXml.Contains("&"))
    {
        filterXml.Replace("&", "&");
    }

It is hitting this condition but not replacing the

 & to &

What is wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

禾厶谷欠 2024-12-15 00:16:06

请记住,字符串是不可变的。因此,您必须将 Replace 方法的返回值(请注意,它返回一个 String 对象)分配回您的变量。

  if (filterXml.Contains("&"))
  {
      filterXml = filterXml.Replace("&", "&");
  }

如果您对 String 对象进行了大量工作,请务必阅读 字符串参考页

Remember, strings are immutable. So you have to assign the return value of the Replace method (notice that it returns a String object) back to your variable.

  if (filterXml.Contains("&"))
  {
      filterXml = filterXml.Replace("&", "&");
  }

If you're doing a lot of work with String objects, make sure to read the the String reference page

情魔剑神 2024-12-15 00:16:06

您需要保存结果:

filterXml = filterXml.Replace("&", "&");

但我建议对所有特殊 XML 字符进行编码。

You need to save the result:

filterXml = filterXml.Replace("&", "&");

but I would recommend encoding ALL special XML characters.

柠檬色的秋千 2024-12-15 00:16:06

您甚至不需要进行包含检查。只需执行以下操作:

filterXml = filterXml.Replace("&", "&");

如果字符串中没有任何&符号,则不会发生任何变化。

You don't even need to do the Contains check. Just do the following:

filterXml = filterXml.Replace("&", "&");

If there aren't any ampersands in the string, then nothing will change.

凌乱心跳 2024-12-15 00:16:06

Try -

  if (filterXml.Contains("&"))
    {
        filterXml = filterXml.Replace("&", "&");
    }

字符串在 .net 中是不可变的,因此 replace 函数返回一个新字符串,而不是更改调用它的字符串。您可以将更改后的结果分配给包含原始字符串值的变量。

Try -

  if (filterXml.Contains("&"))
    {
        filterXml = filterXml.Replace("&", "&");
    }

Strings are immutable in .net, so the replace function returns a new string rather than altering the string it is called on. You are able to assign the altered result to the variable that contained your original string value.

誰ツ都不明白 2024-12-15 00:16:06
  if (filterXml.Contains("&"))
    {
        filterXml = filterXml.Replace("&", "&");
    }
  if (filterXml.Contains("&"))
    {
        filterXml = filterXml.Replace("&", "&");
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文