2016-04-15 57 views
0

我想打印後跟'#'字符的數字(需要在該字符串中打印32)。將字符串拆分爲特殊字符

from __future__ import print_function 
    import re 

    b = '3rd-libraries #32' 
    m = re.split(r'[ ](?=#)', b) 
    print (m) 

列表輸出:(!)

['3rd-libraries', '#32'] 
+0

爲什麼不'b.split( '#')'? – vaultah

+0

我試圖匹配正則表達式。我已經嘗試過這件事。謝謝! – user6136315

+0

如果你使用Python 3,你爲什麼要用'from __future__ import print_function'? – MattDMo

回答

0

到哈希後打印出的第一個數字,你可以這樣做:

import re 

b = '3rd-libraries #32' 
m = re.search(r'#(\d+)', b) 
print m.group(1) 
0

這是作品。

from __future__ import print_function 
    import re 

    b = '3rd-libraries #32' 
    m = re.split(r'#', b) 
    print (m[1]) 
0

當您只需要捕獲一個值時,不需要使用拆分。我建議使用正則表達式lookahead

(?<=#)\d+ 

實施例:

import re 

text = "3rd-libraries #32" 

m = re.search(r'(?<=#)\d+', text) 
if m: 
    print m.group() 

輸出:

32