修复/转义javascript转义字符?

时间:2010-12-07 18:45:41

标签: javascript .net

请参阅this answer,了解为什么/被转义以及非特殊字符会发生什么

解析后我有一个看起来像这样的字符串。这个字符串来自javascript行。

var="http:\/\/www.site.com\/user"

我抓住了报价的内部,所以我只有http:\/\/www.site.com\/user。我如何正确地逃脱字符串?它的http://www.site.com/user?我正在使用.NET

2 个答案:

答案 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";