2011-06-13 127 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+)/ 
相關問題