当前位置: 首页 > 面试题库 >

Python-如何在Python中从字符串中提取数字?

羊舌志
2023-03-14
问题内容

我将提取字符串中包含的所有数字。哪个更适合pur

例:

line = "hello 12 hi 89"

结果:

[12, 89]

问题答案:

如果只想提取正整数,请尝试以下操作:

>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in str.split() if s.isdigit()]
[23, 11, 2]

我认为这比正则表达式示例更好,原因有三点。首先,你不需要其他模块;其次,它更具可读性,因为你无需解析regex迷你语言;第三,它更快(因此可能更pythonic):

python -m timeit -s "str = 'h3110 23 cat 444.4 rabbit 11 2 dog' * 1000" "[s for s in str.split() if s.isdigit()]"
100 loops, best of 3: 2.84 msec per loop

python -m timeit -s "import re" "str = 'h3110 23 cat 444.4 rabbit 11 2 dog' * 1000" "re.findall('\\b\\d+\\b', str)"
100 loops, best of 3: 5.66 msec per loop

这将无法识别浮点数,负整数或十六进制格式的整数。如果你不能接受这些限制,则可以通过以下亭亭玉立的答案解决问题。



 类似资料:
  • 问题内容: 我是新手,我有一个字符串,我想从字符串中提取数字。例如: 输出为 我只想获取一个整数,而不是列表。 问题答案: 您可以使用方法按 数字 字符串,

  • 问题内容: 我有许多类似于的字符串,我只想提取浮点数。我说的是浮动而不是十进制,因为有时它是完整的。RegEx可以这样做还是有更好的方法? 问题答案: 如果你的浮点数始终以十进制表示,则类似于 可能就足够了。 一个更强大的版本是: 如果要验证用户输入,也可以通过直接移至浮动来检查浮动:

  • 我有一个JavaScript字符串(例如),我只想从中得到。 我试过: 它仍然在警报中返回,我如何让它工作? 它需要适应任何长度数字附加在结束。

  • 问题内容: 我想在API中提供自动字符串格式,例如: 可以替换为格式化字符串中标注的属性值。 如何从Python格式字符串中提取关键字参数: 问题答案: 您可以使用类的一个字符串,解析出的领域,与方法: 演示: 您可以进一步解析这些字段名称。为此,您可以使用方法(Python 2)/函数(Python 3)(此内部实现细节未公开;在内部使用)。此函数返回名称的 第一部分 ,将在传递给的参数中查找该

  • 问题内容: 例如: 如何提取“ http://www.google.com”? (每个链接的格式都相同,即“ http://”) 问题答案: 可能有几种方法可以做到这一点,但最干净的方法是使用正则表达式 如果可以有多个链接,则可以使用类似于以下内容的链接

  • 本文向大家介绍Python Regex从字符串中提取最大数值,包括了Python Regex从字符串中提取最大数值的使用技巧和注意事项,需要的朋友参考一下 使用正则表达式从字符串中提取最大数值的最简单方法是- 使用regex模块从字符串中提取所有数字 从这些数字中找到最大值 例如,对于输入字符串- 这个城市有121005人,邻近城市有1587469人,而遥远城市有18775994人。 我们应该得到