用python提取字符串的中英文——建议收藏反复观看

用python提取字符串的中英文——建议收藏反复观看python中提取字符串的中文或英文re中的sub函数提取中文提取英文提取数字re中的findall函数提取中文提取英文提取数字re中的compile函数同时匹配中英文数字去除其他字符前言:提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用re中的sub函数使用Python的re模块,re模块提供了re.sub用于替换字符串中的匹配项。re.sub(pattern,repl,string,count=0)参数说明:

大家好,又见面了,我是你们的朋友全栈君。

前言:

作者:神的孩子在歌唱

最近有小伙伴私信我python如何提取中英文

在这里插入图片描述

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

一. re中的sub函数

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

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

参数说明:

  1. pattern:正则重的模式字符串
  2. repl:被拿来替换的字符串
  3. string:要被用于替换的原始字符串
  4. 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 提取英文

  1. 通俗写法
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
  1. 正则
#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

三. 中的compile函数

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

语法格式为:

re.compile(pattern[, flags])

参数:

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

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

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

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

在这里插入图片描述

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143759.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • J2ME开发入门(老java游戏)「建议收藏」

    J2ME开发入门(老java游戏)「建议收藏」一.文件下载链接:https://pan.baidu.com/s/1JLTE8UagTVYNVNanQmhysA提取码:iarr1.WTK2.5.2,32位的2.eclipse,老版本的,新版不知道什么问题,不能新建J2ME项目3.eclipseme,J2ME插件4.jdk1.8,32位,因为WTK只有32位二.安装1.jdk直接安装就行2.WTK也能直接安装3.eclipse直接解压出来就能运行4.eclipseme点击help-installnewsoftware点

    2022年7月11日
    21
  • String类和常量池内存分析例子以及8种基本类型[通俗易懂]

    String类和常量池内存分析例子以及8种基本类型[通俗易懂]该篇例子几乎涵盖了目前所有能解决的类型,以一种通俗的语言讲解出来。当然如果JVM内存基本问题不太会可以看这里:JVM内存的基本问题基本问题String类和常量池内存分析 8种基本类型的包装类和常量池String类和常量池1String对象的两种创建方式Stringstr1=”abcd”;Stringstr2=newString(“abcd”);Sy…

    2025年10月13日
    4
  • navicat 15.0激活码【中文破解版】

    (navicat 15.0激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlbnNlSWQiOi…

    2022年3月21日
    49
  • Java Scanner类的常用方法及用法(很详细)

    Java Scanner类的常用方法及用法(很详细)JavaScanner类的方法及用法(很详细)Scanner类简介Java5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除…

    2022年7月7日
    26
  • 红色故障码大全_图论的最短路问题

    红色故障码大全_图论的最短路问题原题链接战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的

    2022年8月8日
    2
  • 数字时钟校时功能_公务员考试考场有钟表吗

    数字时钟校时功能_公务员考试考场有钟表吗数字时钟系统—标准化考场自动校时同步时钟

    2022年8月3日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号