基于Python中常用delimeter的字符串切片

基于Python中常用delimeter的字符串切片,python,string,slice,Python,String,Slice,我想根据管道测厚仪将以下管柱切成薄片: address = '1234 Broadway Ave | Los Angeles | CA | 94530' 我想出了第一件事: street = address[:address.index('|')] print(street) 1234 Broadway Ave 但我不清楚如何获得城市/州/邮政编码: city = state = zip = 还有,有没有更好的方法?使用正则表达式或类似的东西?我以前没用过 谢谢 只需在“|”上使用拆分

我想根据管道测厚仪将以下管柱切成薄片:

address = '1234 Broadway Ave | Los Angeles | CA | 94530'
我想出了第一件事:

street = address[:address.index('|')]
print(street)
1234 Broadway Ave
但我不清楚如何获得城市/州/邮政编码:

city = 
state = 
zip =
还有,有没有更好的方法?使用正则表达式或类似的东西?我以前没用过


谢谢

只需在
“|”
上使用拆分,并使用删除每个项目的前导和尾随空格,即可获得每个项目:

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']
此外,您还可以通过以下方式很好地实现这一点:

您还可以使用以下方法将这些项分配到字典:

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

如果您试图用不同的delimeter解析csv数据。
>>> d['street']
1234 Broadway Ave
>>> d['city']
Los Angeles
>>> d['state']
CA
>>> d['zip']
94530