2016-11-17 67 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() 
相关问题