首页 > 后端开发 > Python教程 > 如何在Python中高效地从字符串中提取数字?

如何在Python中高效地从字符串中提取数字?

Mary-Kate Olsen
发布: 2024-12-21 22:50:11
原创
323 人浏览过

How Can I Efficiently Extract Numbers from Strings in Python?

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

在 Python 中从字符串中提取数字时,可以采用两种主要方法:正则表达式和 isdigit () 方法。选择取决于任务的具体要求。

正则表达式

正则表达式为提取数字提供了多功能且强大的解决方案。使用 re.findall() 函数,可以通过指定模式来识别字符串中的数字。例如,r'd ' 匹配一个或多个数字的任何序列。

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)  # [12, 89]
登录后复制

要匹配由单词边界(例如空格或标点符号)分隔的数字,请使用 b:

numbers_delim = re.findall(r'\b\d+\b', line)
print(numbers_delim)  # [12, 89]
登录后复制

isdigit() 方法

如果所有字符都在 isdigit() 方法中,则返回 True字符串是数字。它可以与字符串切片和理解结合使用,从字符串中提取数字。

line = "hello 12 hi 89"

numbers = []
for chr in line:
    if chr.isdigit():
        numbers.append(chr)

print(numbers)  # ['1', '2', '8', '9']
登录后复制

将提取的数字转换为整数:

numbers = [int(chr) for chr in numbers]
print(numbers)  # [1, 2, 8, 9]
登录后复制

结论

虽然正则表达式和 isdigit() 方法都可以用于从字符串、正则表达式提供了更大的灵活性和对匹配过程的控制。然而,对于简单的提取任务, isdigit() 方法可以更直接。

以上是如何在Python中高效地从字符串中提取数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板