我有一些看起来像这样的字符串:
文本文本文本12345
但是"文字"的数量不一样,所以我不想在" - "
上进行字符串拆分我有什么方法可以在数字的第一次出现时拆分,所以我有字符串
文本文本文本 - ?
我正在考虑使用正则表达式,但我想知道str.split是否可以解决这个问题。
非常感谢。
答案 0 :(得分:2)
只做
for (i, c) in enumerate(s): if c.isdigit(): break else: raise ValueError('input with no number part') fields = s[:i].split('-')
答案 1 :(得分:2)
使用正则表达式:
>>> import re
>>> re.split(r'(?<=\d)\D', 'start 123 after text', maxsplit=1)
['start 123', 'after text']
它在数字(0-9)之后查找第一个非数字并在那里分割,最多发生1次分割。