当前位置: 首页 > 编程笔记 >

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

傅穆冉
2023-03-14
本文向大家介绍对python 中re.sub,replace(),strip()的区别详解,包括了对python 中re.sub,replace(),strip()的区别详解的使用技巧和注意事项,需要的朋友参考一下

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中Iterator和Iterable的区别详解,包括了对Python中Iterator和Iterable的区别详解的使用技巧和注意事项,需要的朋友参考一下 Python中 list,truple,str,dict这些都可以被迭代,但他们并不是迭代器。为什么? 因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据的大小是确定的,也就是说有多少

  • 本文向大家介绍Python中__init__和__new__的区别详解,包括了Python中__init__和__new__的区别详解的使用技巧和注意事项,需要的朋友参考一下 __init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候。例如: 这样便是__init__最普通的用法了。但

  • 本文向大家介绍浅谈java中replace()和replaceAll()的区别,包括了浅谈java中replace()和replaceAll()的区别的使用技巧和注意事项,需要的朋友参考一下 replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSeque

  • 本文向大家介绍ipython和python区别详解,包括了ipython和python区别详解的使用技巧和注意事项,需要的朋友参考一下 ipython介绍 IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数。 IPython 是基于BSD 开源的。 IPyt

  • 本文向大家介绍对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解,包括了对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解的使用技巧和注意事项,需要的朋友参考一下 在用tensorflow做一维的卷积神经网络的时候会遇到tf.nn.conv1d和layers.conv1d这两个函数,但是这两个函数有什么区别呢,通过计算得到一些

  • 本文向大家介绍基于python中staticmethod和classmethod的区别(详解),包括了基于python中staticmethod和classmethod的区别(详解)的使用技巧和注意事项,需要的朋友参考一下 例子 上述类有三个函数,使用如下: 区别 • foo()的调用者必须是类A的一个实例,class_foo()与static_foo()的调用者既可以是类也可以是某个实例 • 参