如何使用python选择只包含第二个冒号之前的字符的子字符串?例如,假设我有一个字符串ABC * 01:02:03:04,另一个是A * 101:23:444。如何从上面的字符串中提取子字符串A * 01:02和ABC * 101:23,而不使用字符串拼接器,即mystring [:5]中的某些内容?
答案 0 :(得分:4)
':'.join('ABC*01:02:03:04'.split(':')[:2])
它使用拼接,但它为您提供前两组而不是固定数量的字符
答案 1 :(得分:3)
您可以使用正则表达式。
import re
re.match(r'(.*?:.*?):.*', 'ABC*01:02:03:04').groups()[0]
-> 'ABC*01:02'
re.match(r'(.*?:.*?):.*', 'A*01:02:03:0').groups()[0]
-> 'A*01:02'