我怎样才能把绳子分开?

2024-04-24 13:49:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将字符串拆分为地址、城市、州和邮政编码,但无法成功拆分。你知道吗

这是我的密码:

address =  "4502 150th Pl SE, Bellevue, WA 98006"
my_add = address.split(',')
street = my_add[0] 
city = my_add[1]
state_zip = my_add[2]
state_zip = state_zip
state = state_zip.split(' ')
print(street)
print(city)
print(state_zip)
print(state)
# 4502 150th Pl SE
#  Bellevue
#  WA 98006
# ['', 'WA', '98006']

我预计该地址将分为:

  • 地址:4502 150th Pl SE
  • 城市:贝尔维尤
  • 州:佤邦
  • 邮编:98006

有人能帮我找到最好的解决办法吗。谢谢


Tags: 字符串addstreetcityaddressmy地址zip
3条回答

我认为您的解决方案应该是以下代码:

address = "4502 150th Pl SE, Bellevue, WA 98006"
my_add = address.split(',')
street = my_add[0]
city = my_add[1]
state_zip = my_add[2]
state_zip_split = state_zip.split(' ')
state_zip = state_zip_split[2]
state = state_zip_split[1]
print("Street: ", street)
print("City: ", city)
print("State Zip: ", state_zip)
print("State: ", state)

您将state_zip定义为一个数组,您需要再次拆分它以获得状态和邮政编码

您在那里得到了一些额外的空格,并且由于您在空格上进行拆分,因此最终会得到包含三个元素的my_add[2]:一个空字符串(位于第一个空格之前)、您的状态和您的邮政编码。您可以向代码中添加.strip()来修复此问题:

street = my_add[0].strip()
city = my_add[1].strip()
state_zip = my_add[2].strip()  # remove extra spaces
state_zip = state_zip.split(' ')  # now split on space to get state and zip
state = state_zip[0]  # first element: state
zip_code = state_zip[1]  # second element: zip
print(street)
print(city)
print(state_zip)
print(state)
print(zip_code)
# 4502 150th Pl SE
# Bellevue
# ['WA', '98006']
# WA
# 98006

如果您确定逗号后面总是跟有空格,则可以执行以下操作:

address =  "4502 150th Pl SE, Bellevue, WA 98006"

street, city, state_info = address.split(", ")
state, zipcode = state_info.split(" ")

print("address:", street)
print("city:", city)
print("state:", state)
print("zipcode:", zipcode)

相关问题 更多 >