如何在python代码中从.txt文件中删除多个引号和双引号内的行?
我有一个包含多个字符串的txt文件,其中一些字符串用双引号(或三引号)括起来,希望删除引号内的内容,只保留引号。例如:如何在python代码中从.txt文件中删除多个引号和双引号内的行?,python,methods,comments,Python,Methods,Comments,我有一个包含多个字符串的txt文件,其中一些字符串用双引号(或三引号)括起来,希望删除引号内的内容,只保留引号。例如: """ aaaa """ bbbbb ccccc """ dddddd """ 应该是这样的: """ """ bbbbb ccccc """ """ 我必须用python来做这件事。有没有人想到一个模块可以做到这一点?您可以尝试使用以下正则表达式: s = ''' """ aaaa """ bbbbb ccccc """ dddddd """ ''' im
""" 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'\1\2', 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'\1\2', s, flags=re.MULTILINE))
给出输出:
""" """
bbbbb
ccccc
"""
"""
可能是重复的哦,是的,但它起作用了,当我遇到以下情况时:我在引号中有多行,例如:“dddddd eeeeee ffffff”“”在这种情况下,它不起作用,你有什么想法吗?再次感谢你(哦,我的上帝,这正是我要做的,我有很多要感谢的。)