首页 > 解决方案 > 如何拆分单词和数字之间没有空格的字符串?

问题描述

我有一个字符串40% Apple23% Orange21.2% Bananas,我需要得到一个数组,如:Apple (40%), Orange (23%), Bananas (21.2%)。我想.split()不在这里工作。我怎样才能做到这一点?

标签: python

解决方案


您可以使用正则表达式:

import re

s = "40% Apple23% Orange21.2% Bananas"

out = []
for amount, fruit in re.findall(r"(\d+\.?\d*)\s*%\s*([^\d]+)", s):
    out.append("{} ({}%)".format(fruit, amount))

print(", ".join(out))

印刷:

Apple (40%), Orange (23%), Bananas (21.2%)

推荐阅读