转自:https://www.crifan.com/python_re_sub_detailed_introduction/

//这个网址讲的不错。

1.re.sub的功能

re是regular expression的缩写,表示正则表达式

sub是substitute的缩写,表示替换;

re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;

inputStr = "hello 111 world 111"
replacedStr = inputStr.replace("", "")
//这样可以进行替换
inputStr = "hello 123 world 456"
replacedStr = re.sub("\d+", "", inputStr)
//这样可以把数字都换为222

对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串替换处理,然后返回被替换后的字符串.

2.re.sub的各个参数的详细解释

re.sub共有五个参数。

其中三个必选参数:patternreplstring

两个可选参数:countflags

2020-3-9————————————————

看自己以前写的博客,真是辣鸡。。。学的真是太不认真了。

1.小例子

import re
text="a\ncfoda!!"
text=re.sub(r"[^a-zA-Z0-9]"," ",text)
print(text) #输出:
a cfoda

可以发现,它会将换行符\n去掉,而且标点符号英文/中文都去掉了。

2.总体学习

https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md

可以发现这个讲的非常详细!善用知乎。。。

https://www.runoob.com/python/python-reg-expressions.html

这个也讲的很全面。

import re
text="The car parked in the garage."
text=re.findall(r".ar",text)
print(text) #输出:
['car', 'par', 'gar']

是找到所有的。

import re
text="The car parked in the garage."
text=re.sub(r".ar","",text)
print(text) #输出:
The 233 233ked in the 233age.

sub是替换,学会了正则语法的规则和这两个函数基本就可了。

但是有一点奇怪,\是不用在{}前吗?。。。

import re
text="The {car} parked in the garage."
text=re.sub(r"\{\}","",text)
print(text)
#输出:
The {car} parked in the garage. text=re.sub(r"{","",text)
#输出:
The 233car} parked in the garage.
#这个倒是可以匹配上的

Py中re.sub学习【转载】的更多相关文章

  1. Py中axis理解【转载】

    转载:https://blog.csdn.net/yaoqi_isee/article/details/77714570 1.理解 numpy当中axis的值表示的是这个多维数组维度的下标,比如有一个 ...

  2. R中双表操作学习[转载]

    转自:https://www.jianshu.com/p/a7af4f6e50c3 1.原始数据 以上是原有的一个,再生成一个新的: > gene_exp_tidy2 <- data.fr ...

  3. Py中enumerate方法【转载】

    转自:http://www.runoob.com/python/python-func-enumerate.html enumerate(sequence, [start=0]) sequence - ...

  4. Py中查看数据类型【转载】

    转自:https://www.jianshu.com/p/bb5cc438e3b2 1.内置函数isinstance(object, (type1,type2...)) isinstance('con ...

  5. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  6. CNCC2017中的深度学习与跨媒体智能

    CNCC2017中的深度学习与跨媒体智能 转载请注明作者:梦里茶 目录 机器学习与跨媒体智能 传统方法与深度学习 图像分割 小数据集下的深度学习 语音前沿技术 生成模型 基于贝叶斯的视觉信息编解码 珠 ...

  7. [django]urls.py 中重定向

    Django 1.5 有时候需要对一个链接直接重定向,比如首页啥的重定向到一个内容页等等,在views.py 中可以设定,如果没有参数啥的在urls.py 中设定更加方面 from django.vi ...

  8. 图解BERT(NLP中的迁移学习)

    目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...

  9. SqlServer中的merge操作(转载)

    SqlServer中的merge操作(转载)   今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有 ...

随机推荐

  1. Flask web开发之路一

    之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...

  2. 洛谷P1162 填涂颜色【bfs】

    题目链接:https://www.luogu.org/problemnew/show/P1162 题意: 有一个0和1组成的矩阵,一些1组成一个闭合圈,圈住一些0,现在要把被圈住的这些0变成2输出. ...

  3. 移位运算符:<<,>>,>>>总结

    位移总结篇:带demo讲解 https://www.cnblogs.com/yyangblog/archive/2011/01/14/1935656.html

  4. [No0000115]打开Excel2016提示内存或磁盘空间不足的解决方法

    症状: 法一:右键文件,并 解除锁定: 法二: 在系统的服务中查看Windows Firewall服务 和Windows Update服务是否开启,如果没有开启就把他们启动一下. 1.在桌面的[计算机 ...

  5. python 过滤掉字符串中的回车符与换行符(\t\n)

    我们在文本数据预处理前,要将数据统一整理成需要的格式,其中有回车(\t)或者(\n)符号,会对我们的数据保存有影响,那么就需要将其过滤掉. 比较简单的方法,用replace()将这些符号替换为空,一定 ...

  6. elasticsearch in docker/ and aggregation,,performance tune ;throughout

    Docker环境中Elasticsearch的安装 ]https://wenchao.ren/archives/category/elasticsearch/page/2 [ElasticSearch ...

  7. LeetCode 693 Binary Number with Alternating Bits 解题报告

    题目要求 Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits w ...

  8. LeetCode 922 Sort Array By Parity II 解题报告

    题目要求 Given an array A of non-negative integers, half of the integers in A are odd, and half of the i ...

  9. 2018/05/02 PHP 之错误与异常处理

    在学习中,越学习越觉得自己基础薄弱. 在平常工作中,对于某些错误处理感觉不知道怎么下手,于是决定重新再整理一下. 强烈推荐这篇文章,真的感觉学习到了很多. 部分引用::再谈PHP错误与异常处理 -- ...

  10. Java如何对List集合的操作方法(二)

    4.list中查看(判断)元素的索引: 注意:.indexOf(): 和  lastIndexOf()的不同:   ///*************************************** ...