首页 > 解决方案 > 我有一些在 <> 中的字符串数据,我想将其转换为列表

问题描述

字符串作为"<item1><item2><item3>"

我想将其转换为 ['item1','item2','item3']

我正在考虑使用 string.split('><'),然后去掉第一个 < 和最后一个 >。

但是,如果字符串前面或后面有东西,或者“>”和“<”之间有空格,这将无法正常工作。还有其他方法吗?

编辑:

特定字符串具有以下格式:

Some text
<item1><item2><item3> some more text
some text <item4> some text

它确实适用于 re.findall,它返回

['item1', 'item2', 'item3', 'item4']

这正是我想要的。所以谢谢大家。

标签: arrayspython-3.xstring

解决方案


将正则表达式与捕获组一起使用()

import re

s = '<item1><item2><item3>'
re.findall('<(\w+)>', s)

输出

['item1', 'item2', 'item3']

推荐阅读