Python在字符串末尾分隔匹配字符串

时间:2011-06-13 21:59:56

标签: python regex

我发现在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

这样做的好方法是什么?

谢谢!

3 个答案:

答案 0 :(得分: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']

答案 1 :(得分:2)

这样的东西对你有用吗?

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

print n

http://ideone.com/OnaqX

答案 2 :(得分:2)

好吧,我不确定你的输入是多么可变,但是这些模式中的任何一个都会从你给出的例子中获取套件编号:

/\w+$/

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