浅谈Python3中strip()、lstrip()、rstrip()用法详解

yipeiwu_com5年前Python基础

简单来说,三种方法是为了删除字符串中不同位置的指定字符。其中,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、' ',即:换行、回车、制表符、空格)就不会被删除了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在win64上使用bypy进行百度网盘文件上传功能

在win64上使用bypy进行百度网盘文件上传功能

阿里云服务器的带宽为2M,网站每日的备份包都3G多了,离线下载太费时间了,打算每日将备份包自动上传到自己的百度云盘里。  1、先安装Python 执行python -V ,发...

谈一谈基于python的面向对象编程基础

谈一谈基于python的面向对象编程基础

活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。 把一组数据结构和处理它们的方法组成对象(object...

NetworkX之Prim算法(实例讲解)

NetworkX之Prim算法(实例讲解)

引言 Prim算法与Dijkstra的最短路径算法类似,它采用贪心策略。算法开始先把图中权值最小的边添加到树T中,然后不断把权值最小的边E(E的一个端点在T中,另一个在G-T中)。当没有...

使用70行Python代码实现一个递归下降解析器的教程

 第一步:标记化 处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。 首先,我定义了一些标记(数字不在此中,它们...

解决python大批量读写.doc文件的问题

前言: java语言读写.doc的出现乱码问题: 大家都知道当我们利用java语言读写.doc文件时,无论是利用流的方式将.doc文件的内容输出到控制台(console),还是将其写到其...