我有标签“Key”的字符串,我需要在标签内部获取文字。
string = "<Key>big_img/1/V071-e.jpg</Key>"
需要"big_img/1/V071-e.jpg"
?
答案 0 :(得分:2)
使用正则表达式:
import re
s = "<Key>big_img/1/V071-e.jpg</Key>"
re.findall(r"<Key>(.*)</Key>",s)
['big_img/1/V071-e.jpg']
答案 1 :(得分:0)
最简单的解决方案:
string.trim()[5:-6]
这适用于任何长度字符串,只要它以<Key>
开头并以</Key>
结尾。
它的工作原因是:
trim()
删除任何无关的空白字符<Key>
将始终位于字符串的前5个字符中,所以在之后开始1个字符(记住序列/字符串索引是从0开始的,所以从5开始实际上是从第6个字符开始)</Key>
的开头始终是字符串末尾的6个字符,所以在该点之前停止答案 2 :(得分:0)
使用Python的xml.etree.ElementTree模块来解析XML字符串。如果您的文件类似于:
<root>
<Key>big_img/1/V071-e.jpg</Key>
<Key>big_img/1/V072-e.jpg</Key>
<Key>big_img/1/V073-e.jpg</Key>
<Key>...</Key>
</root>
首先,解析您的数据:
from xml.etree import ElementTree
# To parse the data from a string.
doc = ElementTree.fromstring(data_string)
# Or, to parse the data from a file.
doc = ElementTree.parse('data.xml')
然后,阅读并打印出每个<Key>
的文字:
for key_element in doc.findall('Key'):
print(key_element.text)
应输出:
big_img/1/V071-e.jpg
big_img/1/V072-e.jpg
big_img/1/V073-e.jpg