Python-我可以在第一个整数之后用str.split拆分一个字符串吗?

时间:2014-03-17 03:20:33

标签: python

我有一些看起来像这样的字符串:

文本文本文本12345

但是"文字"的数量不一样,所以我不想在" - "

上进行字符串拆分

我有什么方法可以在数字的第一次出现时拆分,所以我有字符串

文本文本文本 - ?

我正在考虑使用正则表达式,但我想知道str.split是否可以解决这个问题。

非常感谢。

2 个答案:

答案 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次分割。