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 注意这会自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头.中间或结尾),就需要使用引号把字符串包裹起来: ...
随机推荐
- asp.net 过滤器
asp.net 制作过滤器原理:重写ASP.net管道事件 1.通过HttpApplicationFactory创建一个HttpApplication对象,负责处理整个请求. 2.调用ProcessR ...
- 【洛谷P2168】[NOI2015]荷马史诗
荷马史诗 建一个k叉哈夫曼树,用堆维护一下 // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #inc ...
- 【题解】洛谷P1463 [POI2002][HAOI2007] 反素数(约数个数公式+搜索)
洛谷P1463:https://www.luogu.org/problemnew/show/P1463 思路 约数个数公式 ai为质因数分解的质数的指数 定理: 设m=2a1*3a2*...*pak ...
- Python—面向对象04 绑定方法
坚持把梳理的知识都给记下来....... 嗯哼哼 1.绑定方法与非绑定方法 在类内部定义的函数,分为两大类: 绑定到类的方法:用classmethod装饰器装饰的方法. 为类量身定制 类.boud_m ...
- Win7安装MinGW
MinGW官网:http://www.mingw.org/ 点击下载,稍后就会跳转到下载页面 下载文件后是一个在线安装包,下载过程有点长 Basic Setup里的包都需要安装,点击Installat ...
- java基础(杂记)
java基础夯实(杂记):1:创建实例对象可以通过无参的构造函数然后调用成员变量去初始化属性,也可以自己定义有参构造方法直接初始化属性,当属性为private时我们可以通过getset方法间接访问:2 ...
- Openresty最佳案例 | 第1篇:Nginx介绍
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616591 本文出自方志朋的博客 Nginx 简介 Nginx是一个高性能的Web 服务 ...
- ref、refs使用的注意事项
ref是被用来给元素或子组件注册引用信息.引用信息将注册在父组件的 $refs 对象身上.如果在普通的DOM元素身上使用,引用指向就是DOM元素:如果用在子组件身上,引用就是指向组件实例. 当v-fo ...
- poj 1236 Network of Schools : 求需要添加多少条边成为强连通图 tarjan O(E)
/** problem: http://poj.org/problem?id=1236 缩点后入度为0的点的总数为需要发放软件的学校个数 缩点后出度为0的点的总数和入度为0的点的总数的最大值为需要增加 ...
- ABAP术语-ABAP Editor
ABAP Editor 原文链接:http://www.cnblogs.com/qiangsheng/archive/2007/12/08/987498.html Program editor in ...