从字符串创建子字符串列表

时间:2015-11-11 20:21:18

标签: python string list python-2.7 substring

我有这个字符串:

"<C (programming language)> <C++ (programming language)> <Programming Languages> <Computer Programming> "

我想获得一个子串列表,如下所示:

['<C (programming language)>','<C++ (programming language)>','<Programming Languages>','<Computer Programming>']

我尝试使用 re library python ,但没有成功

2 个答案:

答案 0 :(得分:6)

使用正则表达式,您可以使用:

import re
regexp = re.compile("<[^>]+>")
matches = regexp.findall(my_string)

正则表达式基本上匹配以&#39;&lt;&#39;并以&#39;&gt;&#39;结尾。 findall然后返回所有找到的匹配。

答案 1 :(得分:1)

这可以使用重新导入来完成,但另一种解决方案是使用如下所示的split方法:

st = st.split('>')  # splits the string to a list made of elements divided by the '>' sign but deletes the '>' sign
del st[len(st) - 1]  # Splitting your String like we did will add another unneccesary element in the end of the list
st = [i + ">" for i in st]  # adds back the '>' sign to the every element of the list

希望有所帮助