Я пытаюсь заменить каждое вхождение Regex выражения в файл с помощью Python с этим кодом:Python Search & Заменить Regex
import re
def cleanString(string):
string = string.replace(" ", "_")
string = string.replace('_"', "")
string = string.replace('"', '')
return string
test = open('test.t.txt', "w+")
test = re.sub(r':([\"])(?:(?=(\\?))\2.)*?\1', cleanString(r':([\"])(?:(?=(\\?))\2.)*?\1'), test)
Однако, когда я бегу сценарий я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "C:/Python27/test.py", line 10, in <module>
test = re.sub(r':([\"])(?:(?=(\\?))\2.)*?\1', cleanString(r':([\"])(?:(?=(\\?))\2.)*?\1'), test)
File "C:\Python27\lib\re.py", line 155, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
Я думаю, что это читает файл неправильно, но я не уверен, что фактический вопрос здесь
Прошу прощения, но я не могу получить то, что вы пытаетесь сделать. Как выглядит ваш входной файл и как он выглядит после успешного преобразования? – Finwood
входной файл является оператором sql, где необходимо изменить переменную из нескольких переменных: «this is a variable» to: this_is_a_variable, поэтому я пытаюсь заменить пробелы и удалить кавычки из любых строк, которые следуют шаблону : «*» – yhussain