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