从没有任何空格的字符串中提取数字[重复]

Posted

技术标签:

【中文标题】从没有任何空格的字符串中提取数字[重复]【英文标题】:Extract numbers from string without any spaces [duplicate] 【发布时间】:2017-04-07 20:38:12 【问题描述】:

我有像 6M1D14M 这样的字符串。我想从这个字符串中提取所有数字。类似的东西:

[6, 1, 14]

我该怎么做?字符串的长度可以是任意的。介于两者之间的数字也可以是任意长度。

我尝试了this 方法,但无法按照我需要的方式拆分字符串。

【问题讨论】:

好的,这就是你想要的。但是你为此做了什么? SO 不适合“为我做这件事” 你是对的。我正在尝试这种方法:***.com/questions/4289331/… 但无法按照我需要的方式拆分字符串。 您应该在问题中提及您在代码中尝试了什么。我们喜欢显示用户努力的问题。然后我们可以一起修复您的代码。即使你会知道更好的方法来做到这一点 感谢您的建议。我相信这个问题不是重复的,因为另一个问题假设有空格。如何调整代码对某些人来说可能很明显,但遗憾的是对我来说不是。 它是重复的。因为无论您是否将空格、字符或拉丁语中的某些内容作为字符串的一部分,都无关紧要。你想要的只是从字符串中提取数字。有很多方法可以做这些已经提到的作为此处相关问题的答案 【参考方案1】:

使用findAll 和正则表达式\d+

>>> import re
>>> re.findall(r"\d+", "6M1D14M")
['6', '1', '14']

为了转换成整数列表,只需迭代和解析它们。

>>> import re
>>> [int(num) for num in re.findall(r"\d+", "6M1D14M")]
[6, 1, 14]

【讨论】:

以上是关于从没有任何空格的字符串中提取数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从没有空格的字符串中读取整数

从字符串中提取数字以允许单词变化

SQL从没有LIKE的字符串右侧获取数字

正则表达式从没有扩展名的文件名中查找空格和括号

Python:如何从没有标题的csv中提取数据[重复]

从没有 sprintf() 或模的整数中提取数字