Python 删除引号以外的字符
如何删除引号外的所有字符 例如,这是我的字符串Python 删除引号以外的字符,python,python-3.x,Python,Python 3.x,如何删除引号外的所有字符 例如,这是我的字符串 message = 'something "like" this' print( removeFromQuote(message) ) message2 = 'something "like this" thank you!' print( removeFromQuote(message2) ) 然后结果: 像 像这样 如何创建可以执行此操作的函数removeFromQuote 或者将re.sub与
message = 'something "like" this'
print( removeFromQuote(message) )
message2 = 'something "like this" thank you!'
print( removeFromQuote(message2) )
然后结果:
像
像这样
如何创建可以执行此操作的函数removeFromQuote
或者将re.sub与正确的正则表达式一起使用
提前谢谢你 首先,在引号中拆分字符串
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])
尝试使用
findall
:
import re
message = 'something "like this" thank you'
print(re.findall('"(\D+)"',message)[0])
输出:
like this
您可以使用正则表达式:
import re
def removeFromQuote(message):
return re.findall(r'"(.+?)"', message)
结果如下:
>>> message = 'something "like this" or "like that"'
>>> removeFromQuote(message)
['like this', 'like that']
我已经做了,但是我找不到正确的正则表达式来实现..你接受了这个答案吗?为什么?无意冒犯,但这根本不是一个好的解决方案。对不起,答案对我来说是正确的。但是我更喜欢不导入的原生方式字符串操作,这是最好的,尽管导入库仍然是一个很好的解决方案。没问题。