2011-06-13 122 views
0

我很难从Python中的正则表达式入门。在字符串末尾的Python单独匹配字符串

我有一大堆的字符串现在看起来像这样:

<street address><SPACE><#><SPACE><Suite number or letter> 

我需要的套件数量从字符串的其余部分分离并将其保存在另一个变量。我还需要一份没有套房号码的街道地址。

下面是一些例子:

 
    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 
    843 Quarry Road # 140 
    8455 Colesville Rd # 100 

什么是做到这一点的好办法?

谢谢!

回答

2

像这样的事情对你的工作?

s = '1111 19th St NW # 200' 
n = s.split('#')[1].strip() 

print n 

http://ideone.com/OnaqX

2
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'] 
2

好了,我不知道你的投入如何变量,但这些模式中的任何一个会从例子中抢到房间号,你给:

/\w+$/ 

/\#\s*(\w+)/