我正在消耗api,我注意到它返回"'s"
而不是撇号。由于我不会在html中显示此文本,因此当我向用户显示时,这将使我的文本看起来很奇怪。
如何删除或转换(首选)?我不知道我正在使用的这个api是否会发送更多这些特殊代码,所以我不知道我是否可以简单地进行替换。
答案 0 :(得分:11)
从.NET 4.0开始,您可以使用System.Web.HttpUtility.HtmlDecode
(位于System.Web.dll
程序集中的System.Web
程序集中。{/ p>
或者你可以使用System.Net.WebUtility.HtmlDecode
函数,你甚至不需要额外的参考(因为它位于System.dll
程序集中,在名称空间中{ {1}})。
用法:
System.Net
答案 1 :(得分:0)
MatchEveluator从.NET 1.0开始可用,如果你想以更通用的方式解决这个问题,它会派上用场 - 即不仅仅是HTML character decoding。一般食谱如下:
MatchEvaluator ev = (Match m) => Char.ToString((char)Int32.Parse(m.Groups[1].Value));
string result = Regex.Replace("The king's key.";, @"&#(\d+);", ev);
答案 2 :(得分:0)
为什么不将String.Replace Method (String, String)用于此目的。只需找到您的字符串并将其替换为您所需的字符串。
string myStringToDecode = "Hello 'World'";
myStringToDecode.Replace("'","'");