Как заменить несколько разных символов в текстовом файле, используя звездочку в Python 2.7? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь удалить из текстового файла эти символы '{a}' '{b}' ... и т. Д. (У меня есть 250 фигурных скобок в текстовом файле), используя этот код:

# -*- coding: cp1255 -*-
import sys,codecs,string

reload(sys)
sys.setdefaultencoding('utf8')
root = r"G:\desktop\y\test2.txt"
x = open(root)
s=x.read().replace('{*}','').replace('-','')
x.close()
x=open(root,"w")
x.write(s)
x.close

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

, но после запуска этого кода в текстовом файле ничего не меняется:

>>> ================================ RESTART ================================
>>> 
>>>

i red:

, но не нашел моего решения.

1 Ответ

1 голос
/ 22 января 2020

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

import re

data = '''{a} Four score and seven years ago our fathers brought forth on this continent, {b} a new nation, {c} conceived in Liberty, {d} and dedicated to the proposition that all men are created equal.
'''

pattern = re.compile(r'\{[A-Za-z]\}')

print(pattern.sub('{*}', data))
...