我需要一种方法来删除字符串中的所有空格,除非该空格位于引号之间。
result = re.sub('".*?"', "", content)
这将匹配引号之间的任何内容,但现在它需要忽略该匹配并添加空格匹配..
最佳答案
我认为您无法使用单个正则表达式来做到这一点。一种方法是在引号上拆分字符串,将去除空格的正则表达式应用于结果列表的每个其他项目,然后重新加入列表。
import re
def stripwhite(text):
lst = text.split('"')
for i, item in enumerate(lst):
if not i % 2:
lst[i] = re.sub("\s+", "", item)
return '"'.join(lst)
print stripwhite('This is a string with some "text in quotes."')
关于Python 正则表达式必须去除引号之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609596/