我有以下类似的条目:
"<![CDATA[Lorem ipsum feed for an interval of 30 seconds]]>"
我该如何获取最内层方括号中的字符串,例如“Lorem ipsum feed for an interval of 30 seconds”?
其中一些条目是普通字符串,而另一些则像上面那样由[]分隔。
我有以下类似的条目:
"<![CDATA[Lorem ipsum feed for an interval of 30 seconds]]>"
我该如何获取最内层方括号中的字符串,例如“Lorem ipsum feed for an interval of 30 seconds”?
其中一些条目是普通字符串,而另一些则像上面那样由[]分隔。
string = "<![CDATA[[[[[Lorem ipsum feed for an interval of 30 seconds]]]]]]]>"
inner_str = string.split('[')[len(string.split('[')) -1 ].split(']')[0]
print inner_str
inner_str = string[string.find('[')+1 : string.find(']')]
- Hosseindef find_inner(s):
temp = s.partition('[')[-1].rpartition(']')[0]
if not temp:
return s
return find_inner(temp)
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)
中减去该位置)。