首页 >后端开发 >Python教程 >如何在 Python 中从字符串中最好地提取数字:'re”或'isdigit()”?

如何在 Python 中从字符串中最好地提取数字:'re”或'isdigit()”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-29 09:17:10769浏览

How to Best Extract Numbers from Strings in Python: `re` or `isdigit()`?

在 Python 中从字符串中提取数字

在 Python 中从字符串中提取数字时,可以选择使用正则表达式或 isdigit( ) 方法。

常规表达式

正则表达式提供了一种强大的方法来匹配字符串中的模式。对于数字提取,可以使用以下正则表达式: d 。此表达式匹配一个或多个数字的序列。

为了使用正则表达式,Python 提供了 re 模块。以下代码演示了如何使用正则表达式从字符串中提取数字:

import re

line = "hello 12 hi 89"
result = re.findall(r'\d+', line)
print(result)  # Output: ['12', '89']

isdigit() 方法

isdigit() 方法,可在Python 标准库,如果字符串仅由数字组成,则返回 True。此方法可用于迭代字符串并提取数字。

line = "hello 12 hi 89"
result = [char for char in line if char.isdigit()]
print(result)  # Output: ['1', '2', '8', '9']

要将字符列表转换为整数,可以使用列表理解:

result = [int(char) for char in line if char.isdigit()]
print(result)  # Output: [1, 2, 8, 9]

比较

正则表达式和 isdigit() 方法都可以有效地从字符串中提取数字。然而,正则表达式提供了更大的灵活性和控制力,允许更复杂的模式匹配。另一方面,isdigit() 方法使用起来更简单、更直接。

结论

正则表达式和 isdigit() 方法之间的选择取决于关于任务的具体要求。对于更简单的情况, isdigit() 方法可能就足够了。对于更复杂的模式匹配,正则表达式提供了更强大、适应性更强的解决方案。

以上是如何在 Python 中从字符串中最好地提取数字:'re”或'isdigit()”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn