请参阅this answer,了解为什么/被转义以及非特殊字符会发生什么
解析后我有一个看起来像这样的字符串。这个字符串来自javascript行。
var="http:\/\/www.site.com\/user"
我抓住了报价的内部,所以我只有http:\/\/www.site.com\/user
。我如何正确地逃脱字符串?它的http://www.site.com/user
?我正在使用.NET
答案 0 :(得分:1)
使用String.Replace()方法:
string expr = @"http:\/\/www.site.com\/user"; // That's what you have.
expr = expr.Replace("\\/", "/"); // That's what you want.
那,或者:
expr = expr.Replace(@"\/", "/");
请注意,上面的内容并不会用空字符串替换\
的出现,以防您必须支持包含其他合法反斜杠的字符串。如果你不这样做,你可以写:
expr = expr.Replace("\\", "");
或者,如果您更喜欢常量文字:
expr = expr.Replace("\\", String.Empty);
答案 1 :(得分:0)
由于var foo = "http://www.site.com/user";
是一个有效的字符串,我不确定它为何具有\。
如果出于某种奇怪的原因而出现\字符,那么你需要将它们加倍
var foo = "http:\\/\\/www.site.com\\/user";