Как убрать escape-символы - PullRequest
1 голос
/ 05 апреля 2019

В скрипте страницы у меня есть:

imgLocStr[0][0] = "gau"
imgLocStr[1][0] = "swo"
imgLocStr[2][0] = "gau"
imgLocStr[0][1] = "swo"
imgLocStr[1][1] = "swo"
imgLocStr[2][1] = "swo"
imgLocStr[0][2] = "swo"
imgLocStr[1][2] = "swo"
imgLocStr[2][2] = "swo"

Но когда я анализирую HTML-код, я получил "

"imgLocStr[0][0] = \"gau\"\n  "

Как мне удалить \ и \n и в конце нужны только значения "gau" или "swo"

Я могу использовать IndexOf("\") и SubString(), но я уверен, что есть простой способ сделать это.

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

Попробуйте Regex: "\w+", чтобы получить "gau" или "sau".

Демо

используйте Regex.Match в C #

0 голосов
/ 06 апреля 2019

Обратная косая черта \" должна экранировать двойную кавычку в строке.

Чтобы удалить символ новой строки и пробел в конце, вы можете использовать \s+$ для совпадения 1+ раз с пробелом до конца строки.

Пример:

String str = "imgLocStr[0][0] = \"gau\"\n  ";
Console.WriteLine(Regex.Replace(str, @"\s+$", "")); // imgLocStr[0][0] = "gau"

Чтобы получить значение с помощью регулярного выражения, вы можете использовать чередование и указать допустимые значения:

"(?:gau|swo)"\s*$ демо

Или используйте отрицательный класс символов, чтобы не совпадать с двойной кавычкой или новой строкой:

"[^"\r\n]+"\s*$ демо

Вы можете указать более точный шаблон, используя якорь для подтверждения строки строки ^ и указать, что вы разрешите между открывающими и закрывающими кавычками в конце строки $:

^imgLocStr\[\d+\]\[\d+\] = ("\w+")\s*$ демо

0 голосов
/ 05 апреля 2019

Вы можете использовать Regex.Replace(originalString, @patern, string_to_sustitute), который возвращает новую строку с заменой всех появлений шаблона на string_to_sustitute

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...