Python 如何从文本文件中删除大括号?
我正在尝试从文本文件中删除大括号。这是我的密码 这是我的文本文件Python 如何从文本文件中删除大括号?,python,regex,Python,Regex,我正在尝试从文本文件中删除大括号。这是我的密码 这是我的文本文件 ( . || . ) . = (){ = . ? . (" ") : . .
( . || . )
. =
(){
= . ? . (" ") : . .
. . = ( )+8+" "
( && _ (" ")!="")
()
它不起作用
import re
symbols =re.compile(r'{{.*?}}',flags=re.UNICODE)
result = symbols.sub(" ",result)
有什么建议吗
我得到了解决方案,没有使用re
text.replace('{', '')
text.replace('}', '')
您的模式,
{.*}
将把类似foo{{bar}}baz
的字符串更改为foo baz
。但是,由于在您的文件中没有出现类似于{{bar}}
的内容,所以我认为这不是您真正想要做的
如果要删除{
和}
字符,请尝试以下操作:
symbols = re.compile(r'[{}]',flags=re.UNICODE)
还要注意,symbols.sub(“,result)
将用空格替换它们。如果只想删除它们,请使用symbols.sub(“,result)
当然,对于这样简单的东西,正则表达式可能有些过分了。基本的字符串操作功能可能就足够了。速度非常慢,我建议使用简单的:
类似下面的内容将从mystring中删除所有卷曲
import re
mystring = 'my stuff with {curly} braces'
result = re.sub(r'[{}]', '', mystring)
应该很好,我喜欢
text = 'abc{def}ghi'
text.translate(None, '{}')
或
如果你做了大量的替换,它可能会更快。这篇疯狂的帖子是什么?您想只删除花括号还是要删除花括号内的所有内容?如果花括号未关闭(即只有一个开始括号,但没有结束括号),是否要删除开始花括号后直到结束的所有内容?
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)
text.replace('{', '')
text.replace('}', '')
text = 'abc{def}ghi'
text.translate(None, '{}')
unitext = u'abc{def}ghi'
unitext.translate({ord('{'):None, ord('}'):None})