繁体   English   中英

string.replace无法正常工作

[英]string.replace is not working

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

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

正在达到此条件,但没有替换

 & to &

怎么了

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

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

如果您要处理String对象,请确保阅读String参考页

您需要保存结果:

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

但我建议编码所有特殊的XML字符。

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

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

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

尝试-

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM