[英]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.