如何从python中的字符串中提取一系列数字

时间:2017-08-01 12:58:39

标签: python python-3.x

给出一个字符串

st=arr{12 13 5 10 4}

是否可以从中提取所有数字?

li=[12,13,5,10,4]

我尝试了re但失败了。

3 个答案:

答案 0 :(得分:1)

list(map(int, re.findall(r"\d+", st)))

答案 1 :(得分:1)

import re
st="12 13 5 10 4 ftg"
numbers = re.findall(r"[0-9]+", st)
print (numbers)

答案 2 :(得分:1)

假设字符串中的每个数字都用空格分隔,最简单的方法是使用列表推导

[int(number) for number in st.split(" ")]

如果你的字符串是  st = "12 13 5 10 4" 代码将做两件事

  • st.split(" ") 会创建列表

      

    [&#34; 12&#34;,&#34; 13&#34;,&#34; 5&#34;,&#34; 10&#34;,&#34; 4&#34;] < / p>

  • int(number) 将适用于上述列表的每个元素。所以每个字符串都将转换为int。你将获得

      

    [12,13,5,10,4]