python3中split的用法_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('},'):

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)

列表转字典

831196-20170208153124135-1497132598.png

还有一种方法:正则表达式,不太会...

补充官方文档注释:

831196-20170208153415947-378434650.png

大概意思:括号第一个参数: 用户规定的分隔符,第二个参数: 分隔长度. 返回的是一个list列表.如果第一个参数没有的话那么任何一个例如 空格、换行(\n)、制表符(\t)就作为一个分隔符来分隔字符串,并以列表list的形式返回给调用者.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值