如何从 python 代码中的 .txt 文件中删除双引号内的多个引号和行?

How to remove multiple quotes and lines within double quotes from a .txt file in python code?

我有一个包含多个字符串的 txt 文件,其中一些用双引号(或三引号)括起来,我想删除引号内的内容,只保留引号。示例:

""" aaaa """

bbbbb
ccccc

"""
dddddd
"""

应该是这样的:

""" """

bbbbb
ccccc

"""

"""

我必须在 python 中执行此操作。有没有人知道执行此操作的模块?

您可以尝试使用以下正则表达式:

s = '''
""" aaaa """

bbbbb
ccccc

"""
dddddd
"""
'''

import re
print(re.sub(r'(\"{2,3}[\s\n]*).*?([\n\s]*\"{2,3})', r'', s, flags=re.MULTILINE))

这输出:

"""  """

bbbbb
ccccc

"""

"""

编辑:要匹配引号内的多行,正则表达式应该更新。这是示例:

s = '''
""" aaaa """

bbbbb
ccccc

"""
dddddd
bb
"""
'''

import re

print(re.sub(r'(\"{2,3}[\s\n]*)(?:.*?[\s\n]*)*([\n\s]*\"{2,3})', r'', s, flags=re.MULTILINE))

给出输出:

""" """

bbbbb
ccccc

"""
"""