用&符号替换字符串中的特殊字符
Replacing special characther in string with ampersand
我有一个 URL 基本上是这样的:
https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V
URL 是从如下语句生成的:
if ((int)response.StatusCode == 200 || (int)response.StatusCode == 201)
{
var res = await content.ReadAsStringAsync();
var url = HttpUtility.HtmlDecode(JsonConvert.DeserializeObject<PayPalBlueReference>(res).paypalTransaction.paypalUrl);
return Json(Regex.Unescape(url), JsonRequestBehavior.AllowGet);
}
出于某种原因,我的 URL 包含:
\u0026
即使使用
我也无法摆脱的标志
Regex.Unescape()
方法...我什至尝试过使用
Replace("\u0026","&")
但这也不管用...
URL 的格式应如下所示:
https://example.com/us/cgi-bin/webscr?cmd=_express-checkout&token=EC-2BF46053LU471230V
有人可以帮我吗?
编辑:从服务器返回的 JSON 如下所示:
"https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V"
Edit2:这是使用rokkerboci的方法:
if ((int)response.StatusCode == 200 || (int)response.StatusCode == 201)
{
var res = await content.ReadAsStringAsync();
var url = HttpUtility.HtmlDecode(JsonConvert.DeserializeObject<PayPalBlueReference>(res).paypalTransaction.paypalUrl);
return Json(url.Replace("\u0026", "&"), JsonRequestBehavior.AllowGet);
}
响应仍然包含\u0026
您可以使用 System.Web 命名空间:
string encoded = "https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V";
var unencoded = HttpUtility.HtmlDecode(encoded);
Console.WriteLine(unencoded);
我有一个 URL 基本上是这样的:
https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V
URL 是从如下语句生成的:
if ((int)response.StatusCode == 200 || (int)response.StatusCode == 201)
{
var res = await content.ReadAsStringAsync();
var url = HttpUtility.HtmlDecode(JsonConvert.DeserializeObject<PayPalBlueReference>(res).paypalTransaction.paypalUrl);
return Json(Regex.Unescape(url), JsonRequestBehavior.AllowGet);
}
出于某种原因,我的 URL 包含:
\u0026
即使使用
我也无法摆脱的标志Regex.Unescape()
方法...我什至尝试过使用
Replace("\u0026","&")
但这也不管用...
URL 的格式应如下所示:
https://example.com/us/cgi-bin/webscr?cmd=_express-checkout&token=EC-2BF46053LU471230V
有人可以帮我吗?
编辑:从服务器返回的 JSON 如下所示:
"https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V"
Edit2:这是使用rokkerboci的方法:
if ((int)response.StatusCode == 200 || (int)response.StatusCode == 201)
{
var res = await content.ReadAsStringAsync();
var url = HttpUtility.HtmlDecode(JsonConvert.DeserializeObject<PayPalBlueReference>(res).paypalTransaction.paypalUrl);
return Json(url.Replace("\u0026", "&"), JsonRequestBehavior.AllowGet);
}
响应仍然包含\u0026
您可以使用 System.Web 命名空间:
string encoded = "https://example.com/us/cgi-bin/webscr?cmd=_express-checkout\u0026token=EC-2BF46053LU471230V";
var unencoded = HttpUtility.HtmlDecode(encoded);
Console.WriteLine(unencoded);