相关疑难解决方法(0)

Python:从字符串中提取数字

我会提取字符串中包含的所有数字.哪个更适合目的,正则表达式或isdigit()方法?

例:

line = "hello 12 hi 89"
Run Code Online (Sandbox Code Playgroud)

结果:

[12, 89]
Run Code Online (Sandbox Code Playgroud)

python regex string numbers

388
推荐指数
14
解决办法
78万
查看次数

获取字符串中数值列表的最简洁方法

获取字符串中数值列表的最简洁方法是什么?

例如:

string = 'version_4.11.2-2-1.4'
array  = [4, 11, 2, 2, 1, 4]
Run Code Online (Sandbox Code Playgroud)

您可能理解,我需要比较版本.

"最干净",我的意思是尽可能简单/简短/可读.

另外,如果可能的话,我更喜欢内置函数而不是regexp(import re).

这是我到目前为止所得到的,但我觉得它很笨拙:

array = [int(n) for n in ''.join(c if c.isdigit() else ' ' for c in string).split()]
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我无法在SO上找到答案:

谢谢

python string

2
推荐指数
2
解决办法
244
查看次数

只读字符串中的数字

我看到的Q&A像这个这个,但我仍然有一个问题.

我想要的是获取一个可能包含非数字字符的字符串,我想只从该字符串中提取2个数字.所以,如果我12 ds d21a想要提取我的字符串['12', '21'].

我试过用:

import re
non_decimal = re.compile(r'[^\d.]+')
non_decimal.sub("",input())
Run Code Online (Sandbox Code Playgroud)

并喂了这个字符串12 123124kjsv dsaf31rn.结果12123124很好,但我想要非数字字符来分隔数字.

接下来我试着添加split- non_decimal.sub("",input().split()).没有帮助.

我该怎么做(假设有一种方法不包括扫描整个字符串,迭代它并"手动"提取数字)?

为了更清楚,是我想要实现的,在C中.

python regex string

-1
推荐指数
1
解决办法
1046
查看次数

标签 统计

python ×3

string ×3

regex ×2

numbers ×1