删除引号以外的字符

2024-09-25 02:28:42 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


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

然后结果:

like

like this

如何创建一个函数removeFromQuote来实现这一点。你知道吗

或使用回复sub使用正确的正则表达式

提前谢谢!你知道吗


Tags: 函数字符串youmessagethis字符something引号
3条回答

可以使用正则表达式:

import re


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

结果如下:

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

尝试使用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])

相关问题 更多 >