Я пытаюсь заменить строку в текстовом файле так, чтобы она заменяет точное соответствие строки.Python заменить строку без определенных символов после нее
Так что, если файл был:
"word"
"word_1"
"word1"
"wordA"
Я хочу заменить только word
с test_1
Я хотел бы сделать это:
text.replace("word", "test_1")
Но, делая это, я также заменить любой другой word
с другой текст после него с этой строкой. Таким образом, файл будет выглядеть так:
"test_1"
"test_1_1"
"test_11"
"test_1A"
Я хочу, чтобы это так я могу только заменить word
так, что он только заменяет его, если нет каких-либо строчные буквы, заглавные буквы или подчеркивания после него. Я хочу, чтобы замена была ограничена только точными совпадениями, поэтому, если в файле есть другие строки с тем же текстом с буквами, цифрами или символами подчеркивания, они не будут затронуты. Я также хочу, так что если какие-либо другие символы после него, не буквы, цифры или символы подчеркивания будут заменены, как если бы это было:
word"
word;
word:
Те, было бы хорошо, потому что они не имеют буквы, цифры или подчеркивания после их.
Я хочу, чтобы это так, я могу заменить другие строки с различными вещами, такими как:
text.replace("word", "test_1")
text.replace("word_1", "test_2")
text.replace("word1", "test_3")
text.replace("wordA", "test_4")
Так что файл будет:
test_1
test_2
test_3
test_4
Как бы я сделать это?
Это звучит как работа для регулярных выражений! – Max
're.sub (r '\ bword \ b', 'test_1', text)'? См. Http://ideone.com/UNEywY –
Если кто-то добавит тег regex, я закрою http://stackoverflow.com/questions/15863066/python-regular-expression-match-whole-word –