我有这个字符串:
"<C (programming language)> <C++ (programming language)> <Programming Languages> <Computer Programming> "
我想获得一个子串列表,如下所示:
['<C (programming language)>','<C++ (programming language)>','<Programming Languages>','<Computer Programming>']
我尝试使用 re library python ,但没有成功
答案 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
希望有所帮助