Python 常见的字符串操作
1、strip、lstrip和rstrip
描述:
用于移除字符串左右两边、左边、右边指定的字符(默认为空白符,例如:/n, /r, /t, ' ')或字符序列。
语法:
str.strip([chars])
str.lstrip([chars])
str.rstrip([chars])
例如:
1)移除单个字符或空白:
>>> ' abc '.strip()
'abc' >>> ' abc'.lstrip()
'abc' >>> 'abc '.rstrip()
'abc' >>> 'abc'.strip('a')
'bc' >>> 'abc'.lstrip('a')
'bc' >>> 'abc'.rstrip('c')
'ab'
2)移除一个字符串列表(是否会删除的前提是从字符串最开头和最结尾是不是包含要删除的字符,如果有就会继续处理,没有的话是不会删除中间的字符的):
>>> 'abc@163.com'.strip('cawm')
'bc@163.co' >>> 'abc@163.com'.lstrip('cawm')
'bc@163.com' >>> 'abc@163.com'.rstrip('cawm')
'abc@163.co'
2、大小写转换lower、upper、title、capitalize、swapcase
描述:
lower:将字符串中的大写字母转为小写字母。
upper:将字符串中的小写字母转为大写字母。
title:将所有单词首字母转为大写,其余字母均转为小写。
capitalize:将字符串的第一个字母转为大写,其他字母转为小写。
swapcase:将字符串做大小写字母转换(大写->小写,小写->大写)
语法:
str.lower()
str.upper()
str.title()
str.capitalize()
str.swapcase()
例如:
>>> 'aBcDe'.upper()
'ABCDE' >>> 'aBcDe'.lower()
'abcde' >>> 'thIs is a exaMple'.title()
'This Is A Example' >>> 'this is A example'.capitalize()
'This is a example' >>> 'aBcDe'.swapcase()
'AbCdE'
3、find、index、rfind、rindex
描述:
find:检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
index:检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
rfind:类似于find()函数,只不过是从字符串右边开始查找。
rindex:类似于index()函数,只不过是从字符串右边开始查找。
语法:
str.find(str, beg=0, end=len(string))
str.index(str, beg=0, end=len(string))
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
例如:
>>> str1 = 'This is a example!'
... str2 = 'example'
... index = str1.find(str2, 0, len(str1))
... print(index)
10 >>> str1 = 'This is a example!'
... str2 = 'example'
... index = str1.index(str2, 0, len(str1))
... print(index)
10
4、count
描述:
统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
语法:
str.count(sub, start= 0, end=len(string))
例如:
>>> 'hello world'.count('o')
2 >>> 'hello world'.count('o', 5 , len('hello world'))
1
5、replace
描述:
把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法:
str.replace(old, new[, max])
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换old子字符串。
- max -- 可选字符串, 替换不超过 max 次。
例如:
>>> str = 'This is a example'
... nStr = str.replace('is', 'was')
... print(nStr)
Thwas was a example >>> str = 'This is a example'
... nStr = str.replace('a', 'some', 1)
... print(nStr)
This is some example
6、split、splitlines、partition、rpartition
描述:
split:指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串。
splitlines:按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
partition:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
rpartition:类似于partition()函数,只不过是从右边开始。
语法:
str.split(str="", num=string.count(str))
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。
str.splitlines([keepends])
- keepends -- 在输出结果里是否保留换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
str.partition(str)
- str-- 指定的分隔符。
str.rpartition(str)
例如:
>>> 'This \nis a \nexample'.split()
['This', 'is', 'a', 'example'] >>> 'This \nis a \nexample'.split(' ', 1)
['This', '\nis a \nexample' >>> 'This \nis a \nexample'.splitlines()
['This ', 'is a ', 'example'] >>> 'This \nis a \nexample'.splitlines(True)
['This \n', 'is a \n', 'example'] >>> 'www.example.com'.partition('.')
('www', '.', 'example.com') >>> 'www.example.com'.rpartition('.')
('www.example', '.', 'com')
7、填充ljust、center、rjust
描述:
ljust:返回一个指定的宽度 width 居左的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。
center:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。
rjust:返回一个指定的宽度 width 居右的字符串,fillchar 为填充的字符,默认为空格。如果指定的长度小于原字符串的长度则返回原字符串。
语法:
str.ljust(width[, fillchar])
str.center(width[, fillchar])
str.rjust(width[, fillchar])
- width -- 字符串的总宽度。
- fillchar -- 填充字符。
例如:
>>> '[www.example.com]'.ljust(30, '*')
'[www.example.com]*************' >>> '[www.example.com]'.rjust(30, '*')
'*************[www.example.com]' >>> '[www.example.com]'.center(30, '*')
'******[www.example.com]*******' >>> '[www.example.com]'.center(4, '*')
'[www.example.com]'
8、join
描述:
将序列中的元素以指定的字符连接生成一个新的字符串。
语法:
str.join(sequence)
- sequence -- 要连接的元素序列。
例如:
>>> '-'.join(('a', 'b', 'c'))
'a-b-c'
9、isalpha、isdigit、isalnum、isspace
描述:
isalpha:检测字符串是否只由字母组成。
isdigit:检测字符串是否只由数字组成。
isalnum:检测字符串是否由字母和数字组成。
isspace:检测字符串是否只由空格组成。
语法:
str.isalpha()
str.isdigit()
str.isalnum()
str.isspace()
例如:
>>> 'abc'.isalpha()
True >>> ''.isdigit()
True >>> 'abc123'.isalnum()
True >>> ' '.isspace()
True
Python 常见的字符串操作的更多相关文章
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- python入门7 字符串操作
字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- Python 基础之字符串操作,函数及格式化format
一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你,"strvar2 = "亲爱的姑凉"res = strvar1 + strvar2pr ...
- [Python Study Notes]字符串操作
字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name #输出: i am liu PS: 字符 ...
- (Python基础)字符串操作
以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...
- Bash 中常见的字符串操作
获取字符串长度 ${#string} MyString=abcABC123ABCabc 注意这会自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头.中间或结尾),就需要使用引号把字符串包裹起来: ...
随机推荐
- 程序的优化(PHP)
有些小细节往往容易被人忽视.有时候常常说优化代码优化代码,但是实际操作的时候,最容易被忽视的如下所示: echo 比 print 快. 使用echo的多重参数代替字符串连接. 在执行for循环之前确定 ...
- msfconsole_无法启动问题
service postgresql start # 启动数据库服务 msfdb init # 初始化数据库 msfconsole # 启动metasploit
- 【luogu P1402 酒店之王】 题解
题目链接:https://www.luogu.org/problemnew/show/P1402 菜 #include <queue> #include <cstdio> #i ...
- Android学习笔记_59_清除sdcard缓存
对于手机来说,每个软件在安装时,都会在sdcard上创建一个目录,用于缓存文件.市场上针对这些软件,统一了它的sdcard上的目录,将缓存目录存放到数据库中.如果要清理,可以根据当前应用包的名称,到数 ...
- o'Reill的SVG精髓(第二版)学习笔记——第七章
第七章:路径 所有描述轮廓的数据都放在<path>元素的d属性中(d是data的缩写).路径数据包括单个字符的命令,比如M表示moveto,L表示lineto.接着是该命令的坐标信息. 7 ...
- svn使用过程中遇到的问题
前言:记录一下svn使用的过程中遇到的问题 最近的公司使用的svn来管理项目,因为这个项目接手过来已经有至少一年多的工龄了,所以暂且还是也用svn来处理吧,如果要是做新项目的话,真心地希望使用Git来 ...
- Javascript中的this对象
对于this的使用,我们最常遇到的主要有,在全局函数中,在对象方法中,call和apply时,闭包中,箭头函数中以及class中: 我们知道this对象是在运行时基于函数的执行环境绑定的,在调用函数之 ...
- 浅谈linux系统中pdf文件的默认打开方式
atril.gimp和evince,三者均可以打开application/pdf格式文件.gimp为一款图像处理软件:atril为mate环境下常用的文档查看器:evince为gnome环境下常用的文 ...
- MySQL wait_timeout参数修改
MySQL wait_timeout参数修改问题,可能经常会有DBA遇到过,下面就试验一下并看看会有什么现象. wait_timeout分为global级及session级别,如未进行配置,默认值为2 ...
- 百度app红包? 百度全家桶?果断卸载
听说今年的春晚红包与百度合作.这不 刚又下载了一个百度app,之前下载过,太卡了,用户体验极.本身对百度也没啥好感,再加上这周看了:百度已死的文章,搜索全百家号.具体啥情况,你们百度搜一搜吧