问题描述
我发现很难开始使用python中的正则表达式。
我现在有一堆看起来像这样的字符串:
<street address><SPACE><#><SPACE><Suite number or letter>
我需要将Suite号与字符串的其余部分分开,并将其保存在另一个变量中。我还需要没有套房编号的街道地址副本。
这里有些例子:
1111 19th St NW#200
1408 U St NW#A
1509 17th St NW#1
1515 14th St NW#1
1612 K St NW#1000
1700 17th St NW#C
1900 K St NW#1200
1900 M St NW#200
6034 Baltimore Ave#2
arry鱼涌路843号#140
8455 Colesville Rd#100
什么是这样做的好方法?
谢谢!
解决方法
这样的东西适合您吗?
s = \'1111 19th St NW # 200\'
n = s.split(\'#\')[1].strip()
print n
http://ideone.com/OnaqX
, s.split()[-1]
这将返回最后一个空格之后的整个字符串。
以您的一些字符串为例:
>>> L = [\"1111 19th St NW # 200\",\"1408 U St NW # A\",\"1509 17th St NW # 1\",\"1515 14th St NW # 1\"]
>>> [s.split()[-1] for s in L]
[\'200\',\'A\',\'1\',\'1\']
, 好吧,我不确定您的输入可以有多大的可变性,但是这些模式之一都可以从您提供的示例中获取套件号:
/\\w+$/
/\\#\\s*(\\w+)/