在 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中文网其他相关文章!