浅谈python中截取字符函数strip,lstrip,rstrip

yipeiwu_com7年前Python基础

一、起因

今天在做角色控制中,有一个地方用到rstrip,判断用户请求的url是否与数据库对应可用权限中url相符。

if request.path == x.url or request.path.rstrip('/') == x.url: #精确匹配,判断request.path是否与permission表中的某一条相符
借此机会总结一下python中strip,lstrip和rstrip。

二、介绍

Python中strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。

这三个参数都可以传入一个参数,指定要去除的首尾字符。

需要注意的是,传入的是一个字符数组,编译器去除两端所有匹配的字符,直到没有匹配的字符,比如:

>>> testString="saaaay yes no yaaaass"
>>> print testString.strip('say')
 yes no 
>>> 

可见,testString依次被去除首尾在['s','a','y']数组内的字符,直到剩余字符不再数组内。所以输出yes no。

Note:

当没有传入参数时,默认去除首尾空格。

lstrip和rstrip原理一样。

举例:

>>> testString="saaaay yes no yaaaass"
>>> print testString.strip('say')   
 yes no #以空格开头和结尾的
>>> print testString.strip('say ')
es no#开头结尾均无空格
>>> print testString.lstrip('say')
 yes no yaaaass#以空格开头
>>> print testString.rstrip('say')
saaaay yes no #以空格结尾
>>> 

可以对照编辑器中选中状态的这张图理解

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

Django项目中使用JWT的实现代码

Django项目中使用JWT的实现代码

1.requiremwnts: Django版本:2.2 python版本:3.6 djangorestframework版本:3.1 djangorestframew...

对python中的for循环和range内置函数详解

对python中的for循环和range内置函数详解

如下所示: 1.for循环和range内置函数配合使用 range函数生成一个从零开始的列表, range(4)表示list:0123 range(1,11,2)表示从1开始到11-...

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下。 SQLite是一...

python多线程之事件Event的使用详解

前言 小伙伴a,b,c围着吃火锅,当菜上齐了,请客的主人说:开吃!,于是小伙伴一起动筷子,这种场景如何实现 Event(事件) Event(事件):事件处理的机制:全局定义了一个内置标志...

在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南

目前,Python 科学栈中的所有主要项目都同时支持 Python 3.x 和 Python 2.7,不过,这种情况很快即将结束。去年 11 月,Numpy 团队的一份声明引发了数据科学...