如何在两个分隔符python之间获取字符串

时间:2017-03-17 10:33:49

标签: python

我有以下条目:

"<![CDATA[Lorem ipsum feed for an interval of 30 seconds]]>"

如何在最里面的方括号之间输入字符串,即“Lorem ipsum”,间隔为30秒&#39;

其中一些条目是纯字符串,有些条目由上面的[]分隔

3 个答案:

答案 0 :(得分:2)

使用string的split方法。请参阅以下代码段。

wget

答案 1 :(得分:1)

您可以使用this question的答案中提到的内容,但为了获得最内部的字符串,您必须以递归方式调用它。

修改已接受的答案,您可以使用以下方法实现:

def find_inner(s):
    temp = s.partition('[')[-1].rpartition(']')[0]
    if not temp:
        return s

    return find_inner(temp)

答案 2 :(得分:1)

使用正则表达式:

import re
string = '<![CDATA[Lorem ipsum feed for an interval of 30 seconds]]>'
reverse = string[::-1]
start = len(string)-re.search(r'\[', reverse).start()
end = re.search(r'\]', string).start()
print(string[start:end])

您应该在最后[和第一个]之间找到文字。在上面的代码中,我使用re.search()函数来查找字符的第一个匹配项。找到]的第一次出现是可以的。但是为了找到[的最后一次出现,我反转字符串并找到它的第一次出现(从len(string)中减去该位置,因为它被向后索引)。