可能重复:
Python Regular expression must strip whitespace except between quotes
我需要删除文件中不在单引号或双引号内的所有空格(即不在字符串中)。
我找到了这个解决方案 Python Regular expression must strip whitespace except between quotes
但仅适用于双引号
答案 0 :(得分:3)
删除引号外的空格:
import re
parts = re.split(r"""("[^"]*"|'[^']*')""", text)
parts[::2] = map(lambda s: "".join(s.split()), parts[::2]) # outside quotes
print("".join(parts))