python - 如何拆分单词和数字之间没有空格的字符串?
问题描述
我有一个字符串40% Apple23% Orange21.2% Bananas
,我需要得到一个数组,如:Apple (40%), Orange (23%), Bananas (21.2%)
。我想.split()
不在这里工作。我怎样才能做到这一点?
解决方案
您可以使用正则表达式:
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%)
推荐阅读
- java - Spring Boot + Jpa:如何使这种查找方法起作用?
- node.js - 尝试将值推送到不存在的字段,但不会使用 Mongoose 推送
- r - 用散点图显示一些 x 变量的箱线图
- javascript - 即使我尝试保存,使用反应输入字段也会说合成,并且设置 value 而不是 defaultValue 正在呈现 [Object, object]
- javascript - 在 TypeScript 中克隆对象数组
- python - 计算一列中有多少字符出现在另一列(熊猫)
- html - 在 Github 上的 readme.md 中发布 R 表
- html - 为什么数据表的搜索选项不显示?
- java - Hazelcast Nearcache 服务器 - 客户端 Spring Boot
- c# - 使用 C# 在 SFTP 中提取 ZIP 文件