python3-对有规律的字符串进⾏切割(split⽤法)
str = 'title={WiMAX Power Amplifier Design based on Si-LDMOS},author={Nader, Charles and De Carvalho, Nuno Borges},journal={University of Galve, Sweden},year={2006}' # ⽅法1:先通过分隔符 '},' 来分隔字符串,在判断 'author' 并输出 author对应的内容
for item in str.split('},'):
python正则表达式判断try:
if 'author' in item:
print(item.split('{', 1)[1])
except Exception as e:
print(e)
# ⽅法2:
d = dict([s.split('={') for s in str.split('},')])
print(d['author'])
原理: 代码先执⾏ for 语句中的 str.split('},') 每次循环得到⼀个由 '},' 分隔的字符串,然后通过 s.split('={') 分隔出等号前后的内容,split函数返回的是⼀个数组则经过四次循环得到的内容如下
['title', 'WiMAX Power Amplifier Design based on Si-LDMOS']
['author', 'Nader, Charles and De Carvalho, Nuno Borges']
['journal', 'University of Galve, Sweden']
['year', '2006}']
最后将列表转为字典(参考:)
d = dict([s.split('={') for s in str.split('},')])
# 再通过key取出value即可
print(d['author'])
注释
d = dict([s.split('={') for s in str.split('},')])
# 以上代码可以转化为下⾯这样看起来清楚了许多,
one = str.split('},')
for s in one:
two = s.split('={')
print(two)
列表转字典
补充官⽅⽂档注释:
格、换⾏(\n)、制表符(\t)就作为⼀个分隔符来分隔字符串,并以列表list的形式返回给调⽤者.