Ras*_*963 3 python regex string split
我正在尝试拆分字符串:
> s = Ladegårdsvej 8B7100 Vejle
Run Code Online (Sandbox Code Playgroud)
正则表达式:
[street,zip,city] = ["Ladegårdsvej 8B", "7100", "Vejle"]
Run Code Online (Sandbox Code Playgroud)
s变化很大,唯一确定的部分是拉链中总有4位数字,之后是空格.因此,我的想法是在4位数字和空格上"从右边匹配",以指示字符串应该在字符串中的该点处拆分.
目前我能够得到street并city喜欢这样:
> print re.split(re.compile(r"[0-9]{4}\s"), s)
["Ladegårdsvej 8B", "Vejle"]
Run Code Online (Sandbox Code Playgroud)
我将如何s根据需要进行分裂; 特别是,如何在数字中间的字符串中间street和zip?
您可以使用re.split,但将四个数字作为捕获组:
>>> s = "Ladegårdsvej 8B7100 Vejle"
>>> re.split(r"(\d{4}) ", s)
['Ladegårdsvej 8B', '7100', 'Vejle']
Run Code Online (Sandbox Code Playgroud)
从文档(强调我的)
按模式的出现拆分字符串.如果在模式中使用捕获括号,则模式中所有组的文本也将作为结果列表的一部分返回.如果maxsplit非零,则最多发生maxsplit拆分,并且字符串的其余部分将作为列表的最后一个元素返回.
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |