对python 中re.sub,replace(),strip()的区别详解

yipeiwu_com6年前Python基础

1.strip():

str.strip([chars]);去除字符串前面和后面的所有设置的字符串,默认为空格

chars -- 移除字符串头尾指定的字符序列。

st = "  hello  "
st = st.strip()
print(st+"end")

输出:

如果设置了字符序列的话,那么它会删除,字符串前后出现的所有序列中有的字符。但不会清除空格。

st = "hello"
st = st.strip('h,o,e')
print(st)

因为,在h去除之后,e便出现在首位,所以e也会被去除,最终得到的答案就是ll

2.replace():

替代字符串中的某一些子串为另一些字符。 str.replace(old, new[, max])

old -- 将被替换的子字符串。

new -- 新字符串,用于替换old子字符串。

max -- 可选字符串, 替换不超过 max 次

替换某一个子串:

st = "i want a apple"
st = st.replace("apple","mice")
print(st)

规定最大替换次数:

st = "i want a apple and a apple"
st = st.replace("apple","mice",1)
print(st)

3.re.sub()

替换字符串中的某些子串,可以用正则表达式来匹配被选子串。

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

pattern:表示正则表达式中的模式字符串;

repl:被替换的字符串(既可以是字符串,也可以是函数);

string:要被处理的,要被替换的字符串;

count:匹配的次数, 默认是全部替换

如下,用正则方便多了,匹配所有连续出现的数字(把2019换成了danshenggou:):

st = "hello 2019"
st = re.sub("([0-9]+)","danshengou",st)
print(st)

匹配连续出现两次的a,并把它换成一个。

st = "hello aabbaa"
st = re.sub("(a{2})","a",st)
print(st)

以上这篇对python 中re.sub,replace(),strip()的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中实现迭代器(iterator)的方法示例

python中实现迭代器(iterator)的方法示例

概述 迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 延迟计算或惰性求值 (Lazy evaluation)...

python使用PyGame绘制图像并保存为图片文件的方法

本文实例讲述了python使用PyGame绘制图像并保存为图片文件的方法。分享给大家供大家参考。具体实现方法如下: ''' pg_draw_circle_save101.py dra...

Python3.0与2.X版本的区别实例分析

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值。具体如下: 做为一个前端开发的码农,最近通过阅...

Python完成哈夫曼树编码过程及原理详解

Python完成哈夫曼树编码过程及原理详解

哈夫曼树原理 秉着能不写就不写的理念,关于哈夫曼树的原理及其构建,还是贴一篇博客吧。 /post/97396.htm 其大概流程 哈夫曼编码代码 # 树节点类构建 class Tr...

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络。 相对于感知器,采用了f(z)=z的激活函数,属于连续函数。 代价函数为LMS函数,最小均...