Python3去除头尾指定字符的函数strip()、lstrip()、rstrip()用法详解

Python中有三个去除头尾指定字符、空白符的函数,它们依次为:

strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)

从字面可以看出r=right,l=left,strip、rstrip、lstrip是开发中常用的字符串格式化的方法。

注意:这些函数都只会删除头和尾的字符,中间的不会删除。

函数语法分别为:

string.strip([chars])

string.lstrip([chars])

string.rstrip([chars])

参数chars是可选的,当chars为空,默认删除string头尾的空白符(包括\n、\r、\t、' ')

当chars不为空时,chars看成一个的字符的列表,是否会删除的前提是从字符串最开头和最结尾是不是包含要删除的字符,如果有就会继续处理,没有的话是不会删除中间的字符的。

返回值:去除头尾字符(或空白符)的string副本,string本身不会发生改变。

适用Python版本: Python2,Python3都支持,且用法相同

代码实例:

1. 当chars为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')

>>> name = ' www.jb51.net '
>>> name
' www.jb51.net '
>>> name.strip() #删除头尾空格
'www.jb51.net'
>>> name.lstrip() #删除开头空格
'www.jb51.net '
>>> name.rstrip() #删除结尾空格
' www.jb51.net'

2.当chars不为空时,函数会被chars解成一个个的字符,然后将这些字符去掉。

>>> name = '-# www.jb51.net #-'
>>> name
'-# www.jb51.net #-'
>>> name.strip('#-') #删除开头和结尾的#和-,空格被保留了
' www.jb51.net '
>>>
>>> name.lstrip('12') #删除开头的#和-
' www.jb51.net #-'
>>> name.rstrip('12') #删除结尾的#和-
'-# www.jb51.net '

注意:在chars设置了值以后,它会把#-看成两个单独的字符,所以和#-的顺序无关,并且这时候空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)就不会被删除了

本文介绍的关于Python3去除头尾指定字符的函数strip()、lstrip()、rstrip()用法到这儿就结束了,更多这方面的知识请查看下面的相关链接

(0)

相关推荐

  • 详解python函数传参传递dict/list/set等类型的问题

    传参时传递可变对象,实际上传的是指向内存地址的指针/引用 这个标题是我的结论,也是我在做项目过程查到的.学过C的都知道,函数传参可以传值,也可以传指针.指针的好处此处不再赘述. 先上代码看看效果: def trans(var): return var source = {1: 1} dist = trans(source) source[2] = 2 print(source) print(dist) 运行结果: {1: 1, 2:2} {1: 1, 2:2} 可以看到改变了source时,di

  • python 如何用map()函数创建多线程任务

    对于多线程的使用,我们经常是用thread来创建,比较繁琐. 在Python中,可以使用map函数简化代码.map可以实现多任务的并发 简单说明map()实现多线程原理: task = ['任务1', '任务2', '任务3', -] map 函数一手包办了序列操作.参数传递和结果保存等一系列的操作,map函数负责将线程分给不同的CPU. 在 Python 中有个两个库包含了 map 函数: multiprocessing 和它鲜为人知的子库 multiprocessing.dummy.dumm

  • Python input()函数用法大全

    input()函数获取用户输入数据,实现用户交互 语法格式: 变量 = input("提示信息") input()返回的是字符串,无论输入的是数字还是字符串,默认的输入结束键是回车键 input()函数有一些特殊的用法 用法1:通过if判断或iter()函数的哨兵值用法让input()遇到回车键也能持续输入 txt = '' while True: k = input() if k == 'quit': break txt += k + '\n' print('*****以下是输出内容

  • Python进阶之高级用法详细总结

    一.Lambda表达式 Lambda表达式又被称之为匿名函数 格式 lambda 参数列表:函数体 def add(x,y): return x+y print(add(3,4)) #上面的函数可以写成Lambda函数 add_lambda=lambda x,y:x+y add_lambda(3,4) 二.map函数 函数就是有输入和输出,map的输入和输出对应关系如下图所示: 就是要把一个可迭代的对象按某个规则映射到新的对象上. 因此map函数要有两个参数,一个是映射规则,一个是可迭代对象.

  • python Pool常用函数用法总结

    1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用func(并行执行,堵塞方式必须等待上一个过程退出才能执行下一个过程),args是传输给func的参数列表,kwds是传输给func的关键词参数列表. close():关闭Pool,使之不再接受新任务. terminate():无论任务是否完成,都要立即终止. join():主进程堵塞,等待子进程退出,必须在close或terminate之后使用. 2.实例 #coding: utf-8 import mult

  • python处理emoji表情(两个函数解决两者之间的联系)

    还记得曾经被"滑稽"刷屏的场景吗? 在这个各种表情包横行的时代,emoji表情还能依然占据一定的地位! 这篇文章将带你了解一下,python与emoji之间的会有怎样的联系 emoji库的官方文档:传送门 一.emoji库的安装 pip install emoji 二.函数的作用 emoji库主要有两个函数: emojize():根据code生成emoji表情 demojize():将emoji表情解码为code code与表情的对照表:传送门 1.emojize() 在应用时,需要将

  • python-opencv中的cv2.inRange函数用法说明

    本次目标是将一副图像从rgb颜色空间转换到hsv颜色空间,颜色去除白色背景部分 具体就调用了cv2的两个函数,一个是rgb转hsv的函数 具体用法 hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV) 然后利用cv2.inRange函数设阈值,去除背景部分 mask = cv2.inRange(hsv, lower_red, upper_red) #lower20===>0,upper200==>0, 函数很简单,参数有三个 第一个参数:hsv指的是

  • 解决python2中unicode()函数在python3中报错的问题

    python2中的unicode()函数在python3中会报错: NameError: name 'unicode' is not defined There is no such name in Python 3, no. You are trying to run Python 2 code in Python 3. In Python 3, unicode has been renamed to str. 翻译过来就是:Python 3中没有这样的名字,没有. 您正在尝试在Python

  • python print()函数的end参数和sep参数的用法说明

    最近在学习python过程中,对print()打印输出函数进行了进一步学习. python 2.6中,print输出内容需要使用引号. python 3.0中的print 函数修改引号为括号,即print() print()函数打印输出默认换行 i=1 while i<10: print(i) i+=1 print("循环结束") #程序运行结果 1 2 3 4 5 6 7 8 9 循环结束 从语法上讲,python 3.0的函数有一下格式: print([object,-]],

  • Python函数参数中的*与**运算符

    问题描述 在阅读某些代码时,经常会看到函数定义/调用时的参数前带有 * 或者 ** 运算符,比较糊涂,今天来探究记录一番. 函数定义时的 * 和 ** 查阅相关资料得知,在参数前面加上* 号 ,意味着参数个数不止一个,而带一个星号(*)参数的函数传入的参数存储为一个元组(tuple),带两个(*)号则是表示字典(dict)! 我们定义3个函数来分别测试一下*和**的功能. 第一个函数func1参数列表中有两个参数,其中参数b前有* 第二个函数func2参数列表中有两个参数,其中参数b前有** 第

  • python绘图subplots函数使用模板的示例代码

    背景 使用python进行图像可视化,很多情况下都需要subplots将多幅图像绘制在一个figure中.因为使用频率足够高,那么程序员就需要将其"封装",方便复用,所以,这里将笔者常用的subplots用法记录之. 如果有python绘图使用subplots出现标题重叠的解决方法 的问题,可以参考之. 模板 显示中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文 使用subplot(221) 对应的subplots代码: fr

  • python中的内置函数max()和min()及mas()函数的高级用法

    max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) 函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值.默认数值型参数,取值大者:字符型参数,取字母表排序靠后者.还可以传入命名参数key,其为一个函数,用来指定取最大值的方法.default命名参数用来指定最大值不存在时返回的默认值. eg a.传入的多个参数的最大值 print(max(1,2,3,4)) 输出 b.1 传入可迭代对象时,取其元素最大

随机推荐