2016-11-17 68 views
0

給定一個字符串,「Bajsd 2-478 1278123」和字符串類似。是否有一種方法只拉動包含「 - 」的子字符串?返回子字符串,如果包含字符

所以在這種情況下,它會是2-478。整個字符串的長度和包含「 - 」的子字符串可能會有所不同。

回答

3

就分割字符串,如果它包含打印的項目 「 - 」

print "".join([x for x in "Bajsd 2-478 1278123".split(" ") if "-" in x]) 
0

只需使用split方法與測試一起,如果一個子串中包含「 - 」:

>>> s = "Bajsd 2-478 1278123" 
>>> splitted = s.split(" ") 
>>> [substring for substring in splitted if "-" in substring][0] 
"2-478" 

[substring for substring in splitted if "-" in substring][0]意思是:「做一個清單出來的splitted包含"-"的元素,並返回頭這份名單「。

1

使用正則表達式:

import re 
re.search("(\d-\d+)", "Bajsd 2-478 1278123").group() 
相關問題