如何使用起始点和端点(字符)选择字符串?

2024-10-02 18:15:08 发布

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

如何在python中选择一个知道起点和终点的字符串?在

如果字符串是:

Evelin said, "Hi Dude! How are you?" and no one cared!!

或者像这样:

Jane said *aww! thats cute, we must try it!* John replied, "Okay!, but not now!!"

我想写的是一个从" "中选择的函数,而不是通过计算索引,
但它只是从一个字符到另一个字符选择文本

"Hi Dude! How are you?"和{}

那我该怎么做呢?有内置功能吗?在

我知道python中有一个内置函数可以获取给定字符的索引

也就是说

find("something")返回字符串中给定字符串的索引。在

或者它需要在字符串中循环?在

我只是从python开始,对于这样的一个小问题很抱歉。 Python2或3就可以了!!太感谢你了!!在

更新:

感谢大家的回答,作为一个初学者,我只想坚持使用内置的split()函数{},因为它很简单。谢谢大家。太爱了:)


Tags: and函数no字符串youhi字符one
3条回答
txt='''\
Evelin said, "Hi Dude! How are you?" and no one cared!!
Jane said *aww! thats cute, we must try it!* John replied, "Okay!, but not now!!"'''

import re

print re.findall(r'"([^"]+)"', txt)
# ['Hi Dude! How are you?', 'Okay!, but not now!!']

要按字符提取子字符串,在这些字符上拆分要容易得多;^{}和{a2}在给定字符串的第一次或最后一次出现时有效地拆分字符串:

extracted = inputstring.partition('"')[-1].rpartition('"')[0]

从开始和结束进行分区的组合为您提供了可能的最大子字符串,并在其中留下任何嵌入的引号。在

演示:

^{pr2}$

如果不想使用str.index(),可以使用regular expressions

import re

quotes = re.findall('"([^"]*)"', string)

您可以很容易地扩展它来从字符串中提取其他信息。在

或者:

^{pr2}$

并使用str.index()

first = string.index('"')
second = string.index('"', first+1)
quote = string[first+1:second]

相关问题 更多 >