删除引号python之外的字符

时间:2019-03-25 02:52:09

标签: python python-3.x

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

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


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

然后显示结果:

  

喜欢

     

像这样

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

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

提前谢谢!

3 个答案:

答案 0 :(得分:4)

尝试使用like this

{{1}}

输出:

{{1}}

答案 1 :(得分:1)

首先,将字符串用引号引起来。

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])

答案 2 :(得分:1)

您可以使用正则表达式:

import re


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

这是结果:

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