繁体   English   中英

在第二次出现没有字符串切片的字符之前选择一个子字符串

[英]Select a substring before the second occurrence of a character without a string slice

如何使用python选择仅包含直到第二个冒号为止的字符的子字符串? 例如,假设我有一个字符串ABC * 01:02:03:04,另一个是A * 101:23:444。 如何在不使用字符串拼接器的情况下从上述字符串中提取子字符串A * 01:02和ABC * 101:23,即类似于mystring [:5]的东西?

你可以写

':'.join('ABC*01:02:03:04'.split(':')[:2])

它使用拼接,但是它为您提供了前两组而不是固定数量的字符

您可以使用正则表达式。

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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM