Python – 如何仅从中间有逗号的字符串中获取数字
python 230
原文标题 :Python – How to get only the numbers from a string which has got commas in between
考虑一下我有一个字符串:
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)))
但它删除了所有逗号,请让我知道如何以该格式获取输出。
回复
我来回复-
Tim Biegeleisen 评论
使用
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']
2年前 -
kwsp 评论
[int(v) for v in stringA.rsplit("-", 1)[-1].split(",")]
rsplit
从右侧拆分 – 所有数字都出现在最后一个"-"
之后。那么我们split
by","
2年前 -
Devesh Shukla 评论
# Add regex package import re stringA = "values-are-10,20,30,40,50" stringB = "values-are-10" #search using regex A = re.findall('[0-9]+', stringA) print(A) # ['10', '20', '30', '40', '50'] B = re.findall('[0-9]+', stringB) print(B) # ['10']
2年前