исправить / избежать escape-символа javascript? - PullRequest
1 голос
/ 07 декабря 2010

см. этот ответ для обоснования, почему / экранируется и что происходит с нестандартными символами

У меня есть строка, которая выглядит так после разбора. Эта строка происходит из строки JavaScript.

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

Я схватил цитату изнутри, так что все, что у меня есть, это http:\/\/www.site.com\/user. Как правильно избежать строки? так его http://www.site.com/user? Я использую .NET

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Используйте метод 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);
0 голосов
/ 07 декабря 2010

Я не уверен, почему в нем есть \ in, поскольку var foo = "http://www.site.com/user"; является допустимой строкой.

Если символы \ должны быть там по какой-то странной причине, вам нужно удвоить их

var foo = "http:\\/\\/www.site.com\\/user";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...