考虑一下我有一个字符串:

stringA = "values-are-10,20,30,40,50"
stringB = "values-are-10"

我只需要得到字符串:

for stringA: 10,20,30,40,50
for stringB: 10

我试着用这个-int(''.join(filter(str.isdigit, stringA)))

但它删除了所有的逗号,请告诉我如何获得该格式的输出.

推荐答案

使用re.findall这是你的朋友:

stringA = "values-are-10,20,30,40,50"
stringB = "values-are-10"
strings = [stringA, stringB]
output = [re.findall(r'\d+(?:,\d+)*', s)[0] for s in strings]
print(output)  # ['10,20,30,40,50', '10']

Python相关问答推荐

Asyncio与队列的多处理通信-仅运行一个协程

带有计数值的Pandas数据帧

按日期和组增量计算总价值

在后台运行的Python函数

如何在vercel中指定Python运行时版本?

创建带有二维码的Flask应用程序,可重定向到特定端点

是什么导致对Python脚本的jQuery Ajax调用引发500错误?

从今天起的future 12个月内使用Python迭代

配置Sweetviz以分析对象类型列,而无需转换

点到面的Y距离

带条件计算最小值

如何在Windows上用Python提取名称中带有逗号的文件?

2D空间中的反旋算法

如何从在虚拟Python环境中运行的脚本中运行需要宿主Python环境的Shell脚本?

将9个3x3矩阵按特定顺序排列成9x9矩阵

Pandas DataFrame中行之间的差异

给定高度约束的旋转角解析求解

如何更新pandas DataFrame上列标题的de值?

合并帧,但不按合并键排序

如何防止Pandas将索引标为周期?