繁体   English   中英

删除引号python之外的字符

[英]Remove characters outside quotation mark python

如何删除引号外的所有字符,例如这是我的字符串

message = 'something "like" this'
print( removeFromQuote(message)  )


message2 = 'something "like this" thank you!'
print( removeFromQuote(message2)  )

然后结果:

喜欢

像这样

如何创建可以执行此操作的功能removeFromQuote。

或使用带有正确正则表达式的re.sub

先感谢您!

尝试使用findall

import re
message = 'something "like this" thank you'
print(re.findall('"(\D+)"',message)[0])

输出:

like this

首先,将字符串拆分为引号。

message = 'something "like" this'
chunks = message.split('"')

列表中作为引号内的文本位的元素是奇数个。 所以就拿那些。

odd_chunks = chunks[1::2]

现在,将列表重新组合成一个字符串。

result = "".join(odd_chunks)

放在一起:

def removeFromQuote(text):
    return "".join(text.split('"')[1::2])

您可以使用正则表达式:

import re


def removeFromQuote(message):
    return re.findall(r'"(.+?)"', message)

结果如下:

>>> message = 'something "like this" or "like that"'
>>> removeFromQuote(message)
['like this', 'like that']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM