广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用python提取字符串的中英文(正则判断)
  • 913
分享到

如何使用python提取字符串的中英文(正则判断)

2024-04-02 19:04:59 913人浏览 泡泡鱼

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

摘要

前言 提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用 一. re中的sub函数 使用python 的re模块,re模块提

前言

提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用

一. re中的sub函数

使用python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项。

re.sub(pattern, repl, string, count=0)

参数说明:

  • pattern:正则重的模式字符串
  • repl:被拿来替换的字符串
  • string:要被用于替换的原始字符串
  • count:模式匹配后替换的最大次数,省略则默认为0,表示替换所有的匹配

1.1 提取中文

可以这样想:我们可以通过将不是中文的字符替换为空不就可以了

例如


import re
str = "重出江湖hello的地H方。。的,world"
str = re.sub("[A-Za-z0-9\,\。]", "", str)
print(str)
输出:神的孩子在唱歌

1.2 提取英文


import re
str = "重123出江湖hello的地H方。。的,world"
str = re.sub("[\u4e00-\u9fa5\0-9\,\。]", "", str)
print(str)
输出:helloHworld

1.3 提取数字


import re
str = "重123出江湖hello的地H方。。的,world"
str = re.sub("[A-Za-z\u4e00-\u9fa5\,\。]", "", str)
print(str)
输出:123

二. re中的findall函数

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

语法格式为:

findall(string[, pos[, endpos]])

参数:

  • string : 待匹配的字符串。
  • pos : 可选参数,指定字符串的起始位置,默认为 0。
  • endpos :可选参数,指定字符串的结束位置,默认为字符串的长度。 查找字符串中的所有数字:

扩展:正则中有match 和 search ,它们是是匹配一次,findall

匹配所有,具体了解可以到菜鸟教程查看

2.1 提取中文

2.2 提取英文

通俗写法


import string#提供a-z的小写字母
dd = "神的孩子hello在H唱歌,world"
#准备英文字符
temp=""
letters=string.ascii_lowercase#包含a-z的小写字母
for Word in dd:#for循环取出单个词
    if word.lower() in letters:#判断是否是英文
        temp+=word#添加组成英文单词
print(temp)
输出:helloHworld

正则


#A-Za-z
import re
dd = "重出123江湖hello的地方的,world"
result = ''.join(re.findall(r'[A-Za-z]', dd)) 
print(result)
输出:helloHworld

2.3 提取数字


#0-9注意这个数字前面不能\,要不然他连,都给算上
import re
dd = "神123的孩子hello在唱H歌。。,world"
result = ''.join(re.findall(r'[0-9]', dd)) 
print(result)
输出:123

三. re中的compile函数

compile函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供其他函数使用。

语法格式为:

re.compile(pattern[, flags])

参数:

pattern : 一个字符串形式的正则表达式

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  • re.I 忽略大小写
  • re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  • re.M 多行模式
  • re.S即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s,\S 依赖于 Unicode 字符属性数据库
  • re.X 为了增加可读性,忽略空格和 # 后面的注释

3.1 同时匹配中英文数字去除其他字符

总结

到此这篇关于如何使用Python提取字符串中英文的文章就介绍到这了,更多相关python提取字符串中英文内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何使用python提取字符串的中英文(正则判断)

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

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

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

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

下载Word文档
猜你喜欢
  • 如何使用python提取字符串的中英文(正则判断)
    前言 提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用 一. re中的sub函数 使用Python 的re模块,re模块提...
    99+
    2022-11-12
  • 使用python怎么提取字符串的中英文
    本篇文章为大家展示了使用python怎么提取字符串的中英文,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一. re中的sub函数使用Python 的re模块,re模块提供了re.sub用于替换字符串...
    99+
    2023-06-15
  • 怎么在html中使用正则判断字符串
    怎么在html中使用正则判断字符串?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何判断传入的字符串包含一个闭合html标签/<\/[a-z][\s\S]*>/i这...
    99+
    2023-06-09
  • php如何判断字符串是中文还是英文
    php判断字符串是中文还是英文的方法:在php项目中自定义一个函数方法,通过“preg_match("/^[^\x80-\xff]...);”判断是否是英文以及“preg_match("/^[".chr(0&#...
    99+
    2022-10-19
  • python如何用正则表达式提取字符串
    目录用正则表达式提取字符串1. 单个位置的字符串提取2. 连续多个位置的字符串提取用正则表达式提取字符串中的整数总结用正则表达式提取字符串 在日常工作中经常遇见在文本中提取特定位置字...
    99+
    2023-03-02
    python正则表达式 python提取字符串 正则提取字符串
  • java中如何判断字符串是否包含英文
    判断字符串中是否全为英文 boolean result = str.matches("[a-zA-Z]+"); //true:全文英文 str.matches("[a-zA-Z0-9]+") //判断英文和数字 2.提取字...
    99+
    2018-01-28
    java基础 java 判断 字符串 英文 包含
  • 如何在Java中使用正则表达式对字符串进行判断
    如何在Java中使用正则表达式对字符串进行判断?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java 正则表达式判断字符串是否以字符开始:public stat...
    99+
    2023-05-31
    java 正则表达式 字符串
  • Shell中如何使用grep、sed正则提取和替换字符串
    小编给大家分享一下Shell中如何使用grep、sed正则提取和替换字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux中使用grep正则提取字符串ec...
    99+
    2023-06-09
  • Shell中使用grep、sed正则提取和替换字符串
    linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o &nb...
    99+
    2022-06-04
    Shell grep正则提取 Shell sed正则提取 Shell 替换字符串
  • 使用golang中的regexp.MatchString函数判断字符串是否匹配正则表达式
    使用golang中的regexp.MatchString函数判断字符串是否匹配正则表达式正则表达式是一种强大的文本匹配工具,在各种编程语言中都得到广泛应用。在golang中,可以通过正则表达式来对字符串进行模式匹配,判断一个字符串是否符合某...
    99+
    2023-11-18
    字符串 Golang 正则表达式 regexp MatchString
  • java如何用正则表达式匹配与提取字符串
    java.util.regex类支持用正则表达式来匹配和提取字符串,读者可以去官网查看java.util.regex的详细使用方法。 首先给出一个匹配字符串的例子(判断line是否符...
    99+
    2022-11-13
  • 如何使用Python从字符串中提取数字?
    在Python中,有时候需要从字符串中提取特定的数字信息,这种操作很常见。例如,从一篇新闻报道中提取新闻发布日期、从一篇小说中提取章节编号等。那么,如何使用Python从字符串中提取数字呢?本文将介绍几种方式。 阅读更多:Python...
    99+
    2023-08-31
    mysql 数据库 python
  • javacript中如何使用replace正则取字符串中的值并替换
    这篇文章将为大家详细讲解有关javacript中如何使用replace正则取字符串中的值并替换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。replace() 方法用于在...
    99+
    2022-10-19
  • 如何利用python提取字符串中的数字
    目录一、isdigit()函数二、filter() 函数三、提取一段字符串中的数字四、匹配指定字符串开头的数字五、匹配时间,17:35:24六、匹配时间,20181011 15:28...
    99+
    2022-11-13
  • php如何利用正则排除字符串中的字符
    本篇内容主要讲解“php如何利用正则排除字符串中的字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何利用正则排除字符串中的字符”吧!两种方法:1、用preg_replace(),可执行...
    99+
    2023-07-04
  • 怎么使用Java正则表达式匹配字符串并提取中间值
    今天小编给大家分享一下怎么使用Java正则表达式匹配字符串并提取中间值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言有时...
    99+
    2023-07-02
  • 如何使用Python中的正则表达式进行字符串匹配
    如何使用Python中的正则表达式进行字符串匹配正则表达式是一种强大的字符串模式匹配工具,它能够在文本中查找特定的模式,使程序能够更快速、更灵活地处理字符串。在Python中,我们可以使用re模块来操作正则表达式。本文将介绍如何使用Pyth...
    99+
    2023-10-22
    Python 正则表达式 字符串匹配
  • 如何在Python中提取字符串的内容
    今天就跟大家聊聊有关如何在Python中提取字符串的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研...
    99+
    2023-06-15
  • javascript如何使用indexOf()方法判断字符串中是否包含某个字符串
    这篇文章将为大家详细讲解有关javascript如何使用indexOf()方法判断字符串中是否包含某个字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。indexOf()  var ...
    99+
    2023-06-17
  • js中如何使用indexOf() 方法判断字符串包含某个字符
    这篇文章主要介绍了js中如何使用indexOf() 方法判断字符串包含某个字符,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript是什么JavaScript是一...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作