Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python代码中从.txt文件中删除多个引号和双引号内的行?_Python_Methods_Comments - Fatal编程技术网

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

如何在python代码中从.txt文件中删除多个引号和双引号内的行?,python,methods,comments,Python,Methods,Comments,我有一个包含多个字符串的txt文件,其中一些字符串用双引号(或三引号)括起来,希望删除引号内的内容,只保留引号。例如: """ aaaa """ bbbbb ccccc """ dddddd """ 应该是这样的: """ """ bbbbb ccccc """ """ 我必须用python来做这件事。有没有人想到一个模块可以做到这一点?您可以尝试使用以下正则表达式: s = ''' """ aaaa """ bbbbb ccccc """ dddddd """ ''' im

我有一个包含多个字符串的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'\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”“”在这种情况下,它不起作用,你有什么想法吗?再次感谢你(哦,我的上帝,这正是我要做的,我有很多要感谢的。)