#javascript #python #regex
Вопрос:
Я надеюсь получить некоторое представление об этой проблеме, с которой я сталкиваюсь. Я действительно не мог найти никаких других подобных вопросов, которые делали бы то же самое. Я использую python 3.7.
Я извлекаю содержимое строк с помощью регулярного выражения, которое затем заменит другие части файла JavaScript, в котором я читаю. Я знаком с необработанными строками при чтении данных, но когда я заменяю определенные части, содержащие двойную обратную косую черту, печатается только одна. Я знаю, что он ускользает из строки из-за обратной косой черты на», но я в растерянности из-за этого. Добавление третьего «» к нему, сделав его»\», решит проблему, но я не могу этого сделать из-за типа данных, с которыми я работаю.
Например, я хочу заменить все экземпляры, в которых строка «Ch» найдена в файле, который я читаю, на»\», используя регулярное выражение. Эти новые данные затем выводятся в новый файл.
Как мне заменить определенное содержимое строкой»\», гарантируя, что ничего не экранируется и выводится только»\»?
Упрощенный пример кода для тестирования:
string = R'"\"'
Converted_Text = re.sub("Ch", ' ' string, Converted_Text)
with open('output.js','w') as w:
w.write(Converted_Text.strip().replace('n',''))
Пример файла, считываемого в:
var test = Ex("Temp") Ch wn;
var num1= 1;
var num2 =2;
var sum = num1 num2;
var blah, meh;
Ответ №1:
Вы можете сначала заменить CH
на \CH
и снова заменить CH
на \
.