广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python从字符串中提取数字?
  • 678
分享到

如何使用Python从字符串中提取数字?

mysql数据库python 2023-08-31 18:08:33 678人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

在python中,有时候需要从字符串中提取特定的数字信息,这种操作很常见。例如,从一篇新闻报道中提取新闻发布日期、从一篇小说中提取章节编号等。那么,如何使用Python从字符串中提取数字呢?本文将介绍几种方式。 阅读更多:Python

python中,有时候需要从字符串中提取特定的数字信息,这种操作很常见。例如,从一篇新闻报道中提取新闻发布日期、从一篇小说中提取章节编号等。那么,如何使用Python从字符串中提取数字呢?本文将介绍几种方式。



阅读更多:Python 教程

方法一:使用正则表达式

正则表达式是一种专门用于字符串匹配的工具,在Python中有re模块支持正则表达式操作。通过正则表达式,可以匹配和提取字符串中的数字。具体实现代码如下:

import restr1 = '这是一段包含数字的字符串 123456,可以使用正则表达式提取数字'# 定义正则表达式pattern = r'\d+'# 匹配字符串中的数字match_obj = re.findall(pattern, str1)# 输出匹配结果print(match_obj)

Python

Copy

代码中,使用re.findall函数匹配字符串中的数字,匹配规则由正则表达式r’\d+’定义,\d表示匹配数字,+表示匹配前面的1个或多个数字。执行上述代码后,输出结果为['123456']

如果需要提取多组数字,只需要修改正则表达式的定义即可。例如,需要提取下面字符串中的数字:

str2 = 'Python是一门流行的编程语言,目前最新版本是Python 3.10,发布于2021年10月4日'

Bash

Copy

该字符串中包含两组数字,分别是3.10和2021年10月4日。可以使用r’\d+.\d+’匹配版本号,使用r’\d{4}年\d{1,2}月\d{1,2}日’匹配日期信息。具体的代码实现如下:

import restr2 = 'Python是一门流行的编程语言,目前最新版本是Python 3.10,发布于2021年10月4日'# 定义正则表达式pattern1 = r'\d+\.\d+'pattern2 = r'\d{4}年\d{1,2}月\d{1,2}日'# 匹配字符串中的数字match_obj1 = re.findall(pattern1, str2)match_obj2 = re.findall(pattern2, str2)# 输出匹配结果print(match_obj1)print(match_obj2)

Python

Copy

在上述代码中,使用了两个正则表达式,匹配结果存储在match_obj1match_obj2变量中,输出结果分别为['3.10']['2021年10月4日']

方法二:使用字符串方法

除了正则表达式外,Python的字符串还提供了一些常用的方法,可以方便地从字符串中提取数字。下面介绍一些常用的字符串方法。

方法一:isdigit()

isdigit()方法可以判断一个字符串是否只包含数字字符。如果包含数字字符,则返回True,否则返回False。如果一个字符串只有部分字符为数字,也会返回False。例如,字符串’12345’返回True,字符串’12F45’返回False。具体代码如下:

str3 = '1969年7月20日 20:17:40'num_str = ''# 提取字符串中的数字for char in str3:    if char.isdigit():        num_str += char# 输出匹配结果print(num_str)

Python

Copy

在上述代码中,使用字符串方法isdigit()判断字符是否为数字,将字符串中的数字提取出来,输出结果为19697201740

方法二:isnumeric()

isnumeric()方法可以判断一个字符串是否只包含数字字符和数字字符对应的Unicode数值。如果包含数字字符和对应的Unicode数值,则返回True,否则返回False。例如,字符串’12345’和字符串’一二三四五’都返回True,而字符串’12F45’和字符串’$#@!’都返回False。具体代码如下:

str4 = '一二三四五 12345'num_str = ''# 提取字符串中的数字for char in str4:    if char.isnumeric():        num_str += char# 输出匹配结果print(num_str)

Python

Copy

执行上述代码后,输出结果为一二三四五12345,只提取其中的数字字符。

方法三:split()

split()方法可以将一个字符串按指定字符分割成若干个子字符串,并返回一个列表。例如,可以使用空格、逗号、分号等分割符将一个字符串分割成若干个子字符串。许多时候,字符串中的数字和非数字字符混合在一起,可以使用split()方法将字符串按照非数字字符分割成若干个子字符串,再从中提取数字。具体代码如下:

str5 = '这个字符串包含数字12、54和97,还有一些其他英文字母'num_list = []# 将字符串按非数字字符分割成若干个子字符串str_lst = str5.split(' ')for s in str_lst:    if s.isdigit():        num_list.append(int(s))# 输出匹配结果print(num_list)

Python

Copy

在上述代码中,使用split()方法将字符串按照空格分割成若干个子字符串,如果子字符串是数字,则将其转换成整数并存储在列表中,输出结果为[12, 54, 97]

方法三:使用第三方库

Python的第三方库很多,其中一些库可以方便地从字符串中提取数字。例如,使用NumPy库中的函数可以将字符串中的数字转换成浮点数。具体代码如下:

import numpy as npstr6 = '3.1415926'# 将字符串转换成浮点数num_float = np.float(str6)# 输出匹配结果print(num_float)

Python

Copy

在上述代码中,使用NumPy库中的np.float()函数将字符串转换成浮点数,输出结果为3.1415926

结论

使用Python从字符串中提取数字,可以使用正则表达式、字符串方法或第三方库。如果字符串中的数字位置和格式较为固定,使用正则表达式可以比较方便地提取数字;如果字符串中数字和非数字字符混合在一起,可以使用字符串方法将字符串分割成若干个子字符串提取数字;如果需要将字符串中的数字转换成数字类型,也可以使用第三方库提供的函数快速实现。


来源地址:https://blog.csdn.net/Rick_M/article/details/131988656

--结束END--

本文标题: 如何使用Python从字符串中提取数字?

本文链接: https://www.lsjlt.com/news/386646.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Python从字符串中提取数字?
    在Python中,有时候需要从字符串中提取特定的数字信息,这种操作很常见。例如,从一篇新闻报道中提取新闻发布日期、从一篇小说中提取章节编号等。那么,如何使用Python从字符串中提取数字呢?本文将介绍几种方式。 阅读更多:Python...
    99+
    2023-08-31
    mysql 数据库 python
  • 如何利用python提取字符串中的数字
    目录一、isdigit()函数二、filter() 函数三、提取一段字符串中的数字四、匹配指定字符串开头的数字五、匹配时间,17:35:24六、匹配时间,20181011 15:28...
    99+
    2022-11-13
  • Python利用正则表达式从字符串提取数字
    目录前言利用正则表达式从字符串提取数字附python正则表达式抽取文本中的时间日期总结前言 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Pyt...
    99+
    2022-11-13
  • JavaScript如何从字符串中获取字符
    这篇文章主要为大家展示了“JavaScript如何从字符串中获取字符”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何从字符串中获取字符”这篇文章吧。 从字符串中获...
    99+
    2023-06-27
  • 怎么用python提取字符串中的数字
    这篇“怎么用python提取字符串中的数字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用python提取字符串中的数字...
    99+
    2023-06-29
  • MySql 字符串中提取数字
    一、前言 在MySQL中,有时需要从字符串中提取数字。在这种情况下,我们可以使用一些函数来实现该效果。但是,这些函数中的一些可能会提取字符串中的所有数字,而其他函数可能只会提取最长的数字字符序列。因此,我们需要了解每个函数的行为及其应用场景...
    99+
    2023-08-31
    mysql 数据库
  • Python字符串操作之如何提取子字符串
    在 Python 中,字符串是一种非常常见的数据类型,经常需要对字符串进行各种操作,其中提取子字符串是一个非常常见的需求。本文将介绍几种在 Python 中提取子字符串的方法。 方法一:使用字符串切片 在 Python 中,可以使用字符串切...
    99+
    2023-10-18
    python 正则表达式 开发语言
  • java提取字符串中的数字string,获取字符串中的整数或小数
    方法一:提取字符串中的数字 // 提取字符串中的数字 public static String extractNumbers(String input) { return input.replaceAll("[^0-9]...
    99+
    2023-08-16
    java 开发语言 jvm
  • python怎么提取字符串中的文字
    Python可以使用正则表达式或者字符串处理函数来提取字符串中的文字。以下是两种常见的方法:1. 使用正则表达式:可以使用`re`模...
    99+
    2023-08-26
    python
  • Python实现对字符串中字符提取校验
    众所周知,python之所以很方便在一定程度上是因为随时都可能有人又创作了一个好用又方便的python非标准库。 正好有一个小需求需要校验一个python字符串中是否存在某种类型的字...
    99+
    2022-11-11
  • c语言如何提取字符串中的数字
    在C语言中,可以使用isdigit函数和atoi函数来提取字符串中的数字。isdigit函数用于判断一个字符是否为数字字符,其原型如...
    99+
    2023-09-16
    c语言
  • java 如何从字符串里面提取时间
    目录如何从字符串里面提取时间我们可以使用正则表达式从字符串中提取年份,要求输出1000-4999之间的所有年份正则表达式传统匹配:如何从字符串里面提取时间 今天接到一个需求,需要从一...
    99+
    2022-11-12
  • java如何提取字符串中的指定字符
    您可以使用Java中的字符串处理方法来提取字符串中的指定字符。以下是一种常见的方法:1. 使用String类的charAt()方法,...
    99+
    2023-09-22
    java
  • java怎么提取字符串中的数字
    要提取字符串中的数字,可以使用正则表达式或循环遍历字符串的方法。 方法一:使用正则表达式 import java.util.rege...
    99+
    2023-10-22
    java
  • qt怎么提取字符串中的数字
    在Qt中,可以使用正则表达式来提取字符串中的数字。以下是一个示例代码:```cpp#include #include int mai...
    99+
    2023-08-12
    qt
  • 利用TypeScript从字符串字面量类型提取参数类型
    目录正文挑战需要掌握的内容字符串字面量类型模板字面量类型和字符串字面量类型条件类型函数重载和通用函数着手解决问题分割字符串字面量类型参数语法部分的过滤在对象类型里做一个映射正文 挑战...
    99+
    2022-11-13
  • 如何在Python中提取字符串的内容
    今天就跟大家聊聊有关如何在Python中提取字符串的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研...
    99+
    2023-06-15
  • MySQL怎么从字符串中抽取数值
    本篇内容介绍了“MySQL怎么从字符串中抽取数值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! MyS...
    99+
    2022-10-18
  • 使用python怎么提取字符串的中英文
    本篇文章为大家展示了使用python怎么提取字符串的中英文,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一. re中的sub函数使用Python 的re模块,re模块提供了re.sub用于替换字符串...
    99+
    2023-06-15
  • Bash如何提取子字符串
    这篇文章给大家分享的是有关Bash如何提取子字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作