【发布时间】:2017-12-30 00:47:10
【问题描述】:
我正在尝试拆分字符串:
> s = Ladegårdsvej 8B7100 Vejle
使用正则表达式:
[street,zip,city] = ["Ladegårdsvej 8B", "7100", "Vejle"]
s 变化很大,唯一确定的部分是 zip 中总是有 4 位数字,后面有一个空格。因此,我的想法是在 4 位数字和一个空格上“从右侧匹配”以指示字符串应在字符串中的该点拆分。
目前我可以像这样获得street 和city:
> print re.split(re.compile(r"[0-9]{4}\s"), s)
["Ladegårdsvej 8B", "Vejle"]
我将如何根据需要拆分s;特别是在street和zip的数字之间的字符串中间怎么办?
【问题讨论】:
-
所有字符串是否都具有与该字符串相同的整体格式,因为您可以将其拆分为空格,因为这似乎是三个之间的分隔符
-
@Professor_Joykill:街道和邮编之间没有空格。
-
@Professor_Joykill 请注意,OP 希望将
7100而不是8B7100放入zip。 -
参见ideone.com/dmyo6b,您可以匹配并捕获这些部分。