如何利用python提取字符串中的数字

可以使用正则表达式,也可以使用字符串方法或者第三方库进行字符串中数字的提取。下面分别介绍方法和示例:

使用正则表达式提取字符串中的数字

使用正则表达式首先需要导入re模块。具体步骤如下:

1.创建一个正则表达式,使用/d+表示数字。这样的正则表达式一般用于匹配自然常数(整数、实数等)

2.使用re模块的findall方法,在字符串中查找符合正则表达式的数字字符串并返回一个列表

示例代码:

import re

text = "There are two types of people in the world: those who can extrapolate from incomplete data."
numbers = re.findall('\d+', text)
print(numbers)

输出结果:

[]

这是因为在原始字符串里面没有数字

但是如果我们修改代码,

import re

text = "I have 3 apples and 2 bananas"
numbers = re.findall('\d+', text)
print(numbers)

输出结果:

['3', '2']

输出的结果就是提取的数字列表。

使用字符串方法提取字符串中的数字

Python字符串类型自带了很多对于子字符串的操作,比如提取子字符串、查找字符串等方法。

可以使用字符串中的isdigit()、isnumeric()和isdecimal()函数来判断字符串是否为数字,然后使用切片和索引操作来进行提取。

示例代码:

text = "I'm 22 years old"
digits = []
for character in text:
    if character.isdigit():
        digits.append(character)
print(digits)

输出结果:

['2', '2']

这个例子中的字符串进行了字符串循环,判断每个字符是否是数字,并将数字加入到一个列表中返回。

使用第三方库(如BeautifulSoup)提取字符串中的数字

第三方库BeautifulSoup可以处理HTML和XML文档,也可以解析字符串。

使用时需要安装第三方库,方法如下:

pip install beautifulsoup4

示例代码:

from bs4 import BeautifulSoup

html = '<p>The cost of this phone is $499</p>'
soup = BeautifulSoup(html, 'html.parser')
cost = soup.get_text()
numbers = [int(s) for s in cost.split() if s.isdigit()]
print(numbers)

输出结果:

[499]

这个代码解析HTML的字符串,并提取价格值499。通过BeautifulSoup,你可以所有的HTML元素,不仅仅是文本。

以上就是使用Python提取字符串中的数字的完整攻略,如果你有更好的方法欢迎在下方评论区留言分享。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何利用python提取字符串中的数字 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • python机器学习sklearn实现识别数字

    Python机器学习sklearn实现识别数字 摘要 这篇文章将详细讲解如何使用Python和Sklearn库实现数字识别。我们将会使用一个数据集来训练模型,该数据集包含了数千张手写数字的图片。我们将首先对数据进行清洗和预处理,然后使用Sklearn中的SVM(支持向量机)算法来训练我们的模型。最后,我们将评估模型的准确性,并使用它来预测新的手写数字。 数据…

    python 2023年6月6日
    00
  • 100行Python代码实现每天不同时间段定时给女友发消息

    下面是详细的讲解“100行Python代码实现每天不同时间段定时给女友发消息”的完整攻略。 一、准备工作 1.创建QQ机器人账号 可以使用QQ邮箱注册QQ账号,并将该账号添加至女友的好友列表中,用于通过QQ向女友发消息。 2.安装Python和QQ机器人库 可以在Python官网下载安装Python,并在命令行中使用以下代码安装QQ机器人库: pip ins…

    python 2023年5月19日
    00
  • python如何获取列表中每个元素的下标位置

    在Python中,可以使用enumerate函数获取列表中每个元素的下标位置。下面将介绍两种常用的方法。 方法一:for循环和enumerate函数 使用for循环和enumerate函数可以遍历列表中的每个元素,并获取其下标位置。以下一个使用for循和enumerate函数获取列表中每个元素的下标位置的示例: # 使用for循环和enumerate函数获取…

    python 2023年5月13日
    00
  • 解决python xlrd无法读取excel文件的问题

    下面是一份详细讲解如何解决python xlrd无法读取excel文件的问题的实例教程。教程中会涉及到安装xlrd库、Python的基本语法、对Excel文件进行读取等方面。 原因分析 在这份教程中,我们假设在读取Excel文件时,程序反复给出“ModuleNotFoundError: No module named ‘xlrd’”的错误提示。 经过简单检查…

    python 2023年5月13日
    00
  • 使用 Selenium/Python 输入日期不起作用

    【问题标题】:Inputing date using Selenium/Python does not work使用 Selenium/Python 输入日期不起作用 【发布时间】:2023-04-01 22:34:01 【问题描述】: 我正在尝试在 Python 中使用 Selenium 填写表格。文本字段工作正常,但是当我使用将文本发送到日期字段时,它不…

    Python开发 2023年4月8日
    00
  • pygame学习笔记(1):矩形、圆型画图实例

    让我来详细讲解一下“pygame学习笔记(1):矩形、圆型画图实例”的完整攻略。 1. 简介 本文主要介绍如何使用pygame库来绘制矩形、圆形等图形。通过本文的学习,你将会学会如何使用pygame中的基本形状绘图函数及其参数,同时会涉及到pygame绘图时常用的一些基础概念和技巧。 2. 矩形的绘制 在pygame中,绘制矩形的函数是pygame.draw…

    python 2023年5月19日
    00
  • 表格梳理python内置数学模块math分析详解

    表格梳理 Python 内置数学模块 Math 分析详解 1. Math 模块概述 Python 的 Math 模块是 Python 的内置模块之一,提供了常见的数学函数和数学常数。使用 Math 模块,可以轻松地进行数学运算和计算。 2. 常用数学函数 Math 模块提供了许多常用的数学函数。以下是一些常用函数的说明: 2.1. abs() abs(x) …

    python 2023年6月3日
    00
  • Python 3.10 中 6 个兴奋的新特性

    下面我将为你详细讲解“Python 3.10 中 6 个兴奋的新特性”。 1. Parenthesized Context Managers Python 3.10 中引入的第一个新特性是 Parenthesized Context Managers(括号内的上下文管理器)。这使得代码编写更具可读性和清晰度。通常情况下,我们可以将一个上下文管理器放在 wit…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部