擅长:python、mysql、java
<p>不完全是最漂亮的,但由于正则表达式有时很难阅读,或者返回并记住为什么要这样做,这里有一个函数可以完成您正在尝试做的事情。我把你的文字扩展了一点,只是为了确保它能继续工作。你知道吗</p>
<pre><code>def split_on_number(text):
final = [text.split()[0]] # Autoload the first item
for i in text.split()[1:]: # Ignore the first item
try:
#Try to convert it to a float
float(i)
except ValueError:
# if there's an issue, append to last item
final[-1] = " ".join([final[-1], i])
else:
# if you can covnert to a float, then append it
final.append(i)
return final
print(split_on_number('Dual 425mm AutoCannon 25 with another 4 items'))
# ['Dual 425mm AutoCannon', '25 with another', '4 items']
</code></pre>