字符串: <Data>1=1&2=2</Data><Data>abc</Data><Data>nihao</Data>
我想找到得到的是['1=1&2=2','abc','nihao']
请各位帮忙解答一下,本人python菜鸟,勿喷,谢谢。
我想找到得到的是['1=1&2=2','abc','nihao']
请各位帮忙解答一下,本人python菜鸟,勿喷,谢谢。
|
1
re.findall('<Data>([^<]+)</Data>', s)
|
|
2
移动到 /go/python
|
|
ChanneWNov 14, 2014
3
def tsplit(string, delimiters):
"""Behaves str.split but supports multiple delimiters.""" delimiters = tuple(delimiters) stack = [string,] for delimiter in delimiters: for i, substring in enumerate(stack): substack = substring.split(delimiter) stack.pop(i) for j, _substring in enumerate(substack): stack.insert(i+j, _substring) return stack s ="<Data>1=1&2=2</Data><Data>abc</Data><Data>nihao</Data>" tsplit(s, (',', '<Data>', '</Data>')) |
|
uJohnnyNov 14, 2014
4
如果只是标签里的数据, 用lxml吧.
不想用的话, 就参考下这个: http://bit.ly/1qHjIeV |
|
5
@Kai 不知道怎么移动了。下次注意。thx
|
|
irosykingNov 15, 2014
6
正则表达式为 (?<=<data>)(.*?)(?=<\/data>)
import re m=re.findall(r'(?<=<data>)(.*?)(?=<\/data>)','<Data>1=1&2=2</Data><Data>abc</Data><Data>nihao</Data>',re.I|re.M) print m |