Я задавался вопрос, как я могу сделать Python игнорировать символы внутри двойных кавычек (") в моем поиске и замены Моего кода:Игнорировать символы в кавычках внутри находки и заменить алгоритм
def findAndReplace(textToSearch, textToReplace,fileToSearch):
oldFileName = 'old-' + fileToSearch
tempFileName = 'temp-' + fileToSearch
tempFile = open(tempFileName, 'w')
for line in fileinput.input(fileToSearch):
tempFile.write(line.replace(textToSearch, textToReplace))
tempFile.close()
# Rename the original file by prefixing it with 'old-'
os.rename(fileToSearch, oldFileName)
# Rename the temporary file to what the original was named...
os.rename(tempFileName, fileToSearch)
Предположим, что наш файл (test.txt) имеет содержание (ЭТО нАШЕ АКТУАЛЬНО TEXT):
Мне нравится ваш код «Мне нравится ваш код»
и я исполню
findAndReplace('code','bucket',test.txt)
, который будет написать следующее в мой файл:
Мне нравится ведро «Мне нравится ваше ведро»
Однако, я хочу, чтобы пропустить двойные кавычки части и получить это как в результате
Мне нравится ведро «Мне нравится ваш код»
Что я должен добавить к моему исходному коду?
Заранее спасибо
Может ли быть кавычки внутри кавычек? Другими словами, «нравится ли мне ваш код», мне нравится «ваш код», «на самом деле есть две строки с кавычками», «Мне нравится» и «» «или одна цитата» «Мне нравится« ваш код »" '? – abarnert
Это содержимое текстового файла, если я понимаю, что вы только что упоминали – bolzano
Не думаю, что вы понимаете, о чем я только что упомянул, потому что вы не ответили на мой вопрос. Но я предполагаю, что вы хотели бы рассматривать пример как первый, а не второй. – abarnert