Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 移除或转换' 到(';)_C#_Html_.net_Ascii - Fatal编程技术网

C# 移除或转换' 到(';)

C# 移除或转换' 到(';),c#,html,.net,ascii,C#,Html,.net,Ascii,我正在使用一个api,我注意到它返回时带有“';s”,而不是撇号。因为我不会在html中显示这个文本,当我向用户显示时,这会使我的文本看起来很奇怪 如何删除或转换(首选)?我不知道我正在使用的这个api是否会发送更多这些特殊代码,因此我不知道是否可以简单地进行替换。从.NET 4.0开始,您可以使用(位于System.Web.dll程序集中的命名空间System.Web) 或您可以使用该函数,甚至不需要额外的引用(因为它位于命名空间System.Net中的System.dll程序集中) 用

我正在使用一个api,我注意到它返回时带有
“';s”
,而不是撇号。因为我不会在html中显示这个文本,当我向用户显示时,这会使我的文本看起来很奇怪


如何删除或转换(首选)?我不知道我正在使用的这个api是否会发送更多这些特殊代码,因此我不知道是否可以简单地进行替换。

从.NET 4.0开始,您可以使用(位于
System.Web.dll
程序集中的命名空间
System.Web

您可以使用该函数,甚至不需要额外的引用(因为它位于命名空间
System.Net
中的
System.dll
程序集中)

用法:

string myStringToDecode = "Hello 'World'";

string decodedString = System.Web.HttpUtility.HtmlDecode(myStringToDecode);
// or
string decodedString = System.Net.WebUtility.HtmlDecode(myStringToDecode);
从.NET 1.0开始提供,如果您希望以更通用的方式解决此问题(即,做的不仅仅是这些),它将派上用场。一般配方如下所示:

MatchEvaluator ev = (Match m) => Char.ToString((char)Int32.Parse(m.Groups[1].Value));
string result = Regex.Replace("The king's key.";, @"&#(\d+);", ev);
你为什么不为此而唱歌呢。只需找到您的字符串并将其替换为所需的字符串

string myStringToDecode = "Hello 'World'";
myStringToDecode.Replace("'","'");

只需替换为数据类型转换和正则表达式的开销即可。我找到了了解MatchEvaluator的另一个很好的理由:)我在帖子中提到过,我不知道这个api有多少字符编码。我不想做一个庞大的替换列表。是的,我想到了这一点,但我不确定脚本标签和类似的坏东西会发生什么。我希望我使用的api能够处理这些不好的事情,但我最不想做的事情是再次激活它们(虽然因为它是一个应用程序,但如果我突然将它们显示在网页上,它将解码所有HTML实体(受支持)。我想你可以自己做一些测试。但是,只要确保您的应用程序处理得很好,就应该没有问题了?