Python-我可以在第一个整数后用str.split分割字符串吗?
我有一些字符串,看起来像这样:
text-text-text-12345
但是“text”的数量不一样,所以我不想直接用“-”来分割字符串。
有没有办法可以在数字第一次出现的地方进行分割,这样我就能得到字符串:
text-text-text-?
我在考虑使用正则表达式,但我想知道是否可以用str.split来解决这个问题。
非常感谢。
2 个回答
2
只需这样做
for (i, c) in enumerate(s): if c.isdigit(): break else: raise ValueError('input with no number part') fields = s[:i].split('-')
4
使用正则表达式:
>>> import re
>>> re.split(r'(?<=\d)\D', 'start 123 after text', maxsplit=1)
['start 123', 'after text']
这个方法会查找数字(0-9)后面第一个不是数字的字符,然后在这个地方进行分割,最多只会分割一次。