我正在尝试从文本文件中删除花括号。这是我的代码
这是我的文本文件
( . || . )
. =
(){
= . ? . (" ") : . .
. . = ( )+8+" "
( && _ (" ")!="")
()
它不能正常工作
import re
symbols =re.compile(r'{{.*?}}',flags=re.UNICODE)
result = symbols.sub(" ",result)
有什么建议吗?
我得到了解决方案,没有使用重新
text.replace('{', '')
text.replace('}', '')
答案 0 :(得分:3)
您的模式{{.*?}}
会将foo{{bar}}baz
之类的字符串更改为foo baz
。但是由于你的文件中没有{{bar}}
这样的内容,我认为这不是你想要做的。
如果您要删除{
和}
个字符,请尝试以下操作:
symbols = re.compile(r'[{}]',flags=re.UNICODE)
另请注意,symbols.sub(" ",result)
会将其替换为空格。如果您只想删除它们,请使用symbols.sub("",result)
。
当然,对于这种简单的,正则表达式的东西可能有点过分。基本字符串操作函数可能就足够了。
答案 1 :(得分:3)
text.replace('{', '')
text.replace('}', '')
应该可以正常工作,我喜欢
text = 'abc{def}ghi'
text.translate(None, '{}')
或
unitext = u'abc{def}ghi'
unitext.translate({ord('{'):None, ord('}'):None})
如果你做了很多更换,它可能会更快。
答案 2 :(得分:2)
with open('output_file', 'w') as f_out:
with open('input_file') as f_in:
for line in f_in:
for ch in ['{', '}']:
line = line.replace(ch, '')
f_out.write(line)
答案 3 :(得分:0)
答案 4 :(得分:-1)
以下内容将从mystring中删除所有卷曲。
import re
mystring = 'my stuff with {curly} braces'
result = re.sub(r'[{}]', '', mystring)