返回包含字符的子字符串

时间:2016-11-17 00:49:57

标签: python string substring

给出一个字符串," Bajsd 2-478 1278123"和字符串类似。有没有一种方法可以只提取包含" - "?

的子字符串

所以在这种情况下,它将是2-478。整个字符串的长度和包含" - "的子字符串可以变化。

3 个答案:

答案 0 :(得分:3)

只需拆分字符串并打印该项目,如果它包含" - "

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

答案 1 :(得分:1)

使用正则表达式:

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

答案 2 :(得分: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}}元素中创建一个列表,并返回此列表的头部"。