给出一个字符串," Bajsd 2-478 1278123"和字符串类似。有没有一种方法可以只提取包含" - "?
的子字符串所以在这种情况下,它将是2-478。整个字符串的长度和包含" - "的子字符串可以变化。
答案 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}}元素中创建一个列表,并返回此列表的头部"。