【发布时间】:2021-12-20 17:17:18
【问题描述】:
我有一些我正在处理的乳胶文本,我需要清理它以便根据间距正确拆分它。
所以字符串:
\\mathrm l >\\mathrm li ^ + >\\mathrm mg ^ +>\\mathrm a \\beta+ \\mathrm co
应该是:
\\mathrm l > \\mathrm li ^ + > \\mathrm mg ^ + > \\mathrm a \\beta + \\mathrm co
所以为了让我分割它,如果它是一个特殊字符,我必须在每个字符之间创建间距。另外我想保持乳胶符号完整为\something。
我可以让re.compile([a-zA-Z0-9 \\]) 获取所有特殊字符,但是如何处理插入空格?
我写了一个类似这样的代码,但它在效率方面看起来并不好。 (或者是吗?)
def insert_space(sentence):
'''
Add a space around special characters So "x+y +-=y \\latex" becomes: "x + y + - = y \\latex"
'''
string = ''
for i in sentence:
if (not i.isalnum()) and i not in [' ','\\']:
string += ' '+i+' '
else:
string += i
return re.sub('\s+', ' ',string)
【问题讨论】: