"'s"
API を使用していますが、アポストロフィではなくAPI が返されることに気付きました。このテキストを html で表示するつもりはないので、ユーザーに表示するとテキストが奇妙に見えます。
どうすれば削除または変換できますか (推奨)? 私が使用しているこの API がこれらの特別なコードをこれ以上送信するかどうかはわかりません。そのため、単純に置換できるかどうかはわかりません。
.NET 4.0 の時点で使用できますSystem.Web.HttpUtility.HtmlDecode
(System.Web.dll
名前空間のアセンブリに存在しますSystem.Web
)。
または、関数を使用することもできます。System.Net.WebUtility.HtmlDecode
これに対する追加の参照は必要ありません (System.dll
名前空間のアセンブリに存在するためSystem.Net
)。
使用法:
string myStringToDecode = "Hello 'World'";
string decodedString = System.Web.HttpUtility.HtmlDecode(myStringToDecode);
// or
string decodedString = System.Net.WebUtility.HtmlDecode(myStringToDecode);
MatchEveluatorは .NET 1.0以降で利用可能であり、この問題にもっと一般的な方法で対処したい場合、つまりHTML 文字のデコード以上のことをしたい場合に便利です。一般的なレシピは次のようになります。
MatchEvaluator ev = (Match m) => Char.ToString((char)Int32.Parse(m.Groups[1].Value));
string result = Regex.Replace("The king's key.";, @"&#(\d+);", ev);