加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中基于通用分隔符切割字符串

发布时间:2020-12-20 12:05:14 所属栏目:Python 来源:网络整理
导读:我想取以下字符串并根据管道分隔符对其进行切片: address = '1234 Broadway Ave | Los Angeles | CA | 94530' 我想出了第一件作品: street = address[:address.index('|')]print(street)1234 Broadway Ave 但我不知道如何获得城市/州/邮编: city = state
我想取以下字符串并根据管道分隔符对其进行切片:

address = '1234 Broadway Ave | Los Angeles | CA | 94530'

我想出了第一件作品:

street = address[:address.index('|')]
print(street)
1234 Broadway Ave

但我不知道如何获得城市/州/邮编:

city = 
state = 
zip =

另外,有更好的方法吗?使用RegEx或类似的东西?之前没用过..

谢谢!

解决方法

您可以通过拆分’|’来获取每个项目使用 str.split(),并使用 str.strip()去掉每个项目的前导和尾随空格:

address = '1234 Broadway Ave | Los Angeles | CA | 94530'

items = [x.strip() for x in address.split('|')]

print(items)

这使:

['1234 Broadway Ave','Los Angeles','CA','94530']

此外,您还可以使用map()很好地完成此操作:

items = list(map(str.strip,address.split('|')))

您也可以使用zip()将这些项目分配到字典中,如下所示:

contents = ["street","city","state","zip"]
d = dict(zip(contents,items))
print(d)

哪个会给你这个结构:

{'street': '1234 Broadway Ave','city': 'Los Angeles','state': 'CA','zip': '94530'}

然后,您只需调用键即可访问此词典中的每个项目:

>>> d['street']
1234 Broadway Ave
>>> d['city']
Los Angeles
>>> d['state']
CA
>>> d['zip']
94530

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读