python序列之字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python序列之字符串相关的知识,希望对你有一定的参考价值。

注:本文仅介绍字符串的一些常用的方法

 

因为字符串属于不可变序列,所以方法中对字符串的修改,都是靠返回一个新字符串来实现的,并没有对老字符串产生影响

 

1、寻找文本:在字符串中,从左开始寻找自己想要的文本

str1.find(string,[startindex],[endindex])      #可选参数为开始和结束的索引

查找成功返回所处索引,失败返回-1

同类方法:

str1.index()

查找成功返回索引,失败抛出错误

 

2、倒找文本:在字符串中,从右开始寻找自己想要的文本

str1.rfind()  #参数同上

查找成功返回所处索引,失败返回-1

同类方法:

str1.rindex()

查找成功返回索引,失败抛出错误

 

3、取部分文本

取文本左边

提供长度:str1[:ls]

提供字符串:str1[:str1.index(string)]

取文本右边

提供长度:str1[len(str1)-ls:]

提供字符串:str1[str1.rindex(string)+1:]

取文本中间

提供起始索引:str1[startindex:endindex]

提供起始字符串:str1[str1.index(starstring)+1:str1.rindex(endstring)]

 

4、连接成字符串:把列表连接成字符串

string.join(list)  

str1 = ‘+‘   #此为连接符

list1 = [‘1‘,‘2‘,‘3‘]   #注意,该列表的成员必须是string

打印结果:1+2+3

 

5、分割字符串到列表

string.split([fgstring],[fgcount])

默认无参是用空格进行分割

第二个参数是可选的分割次数

注:分割1次是生成2个成员,2次是3个

返回结果是列表

 

注:split方法与join互为逆运算

 

6、查找字符串并替换

str1.replace(x,y,[z])

查找到x,全部替换成y

参数z为可选参数,替换次数,为空的情况下默认全部替换

 

想同时替换多个值,有一个新的方法

str1.translate(table)   #参数是一个替换表

下面介绍替换表生成的方法

from string import maketrans

table1 = maketrans(‘a‘,‘a‘)   #这是一个包含256个字符的原始替换表

str1.translate(table1) #这样就可以替换了

 

注:如果需要同时替换多个,可以在生成替换表的时候修改

table1 = maketrans(‘ac‘,‘bk‘)   #a 替换 b ,c 替换成  k

 

7、空格处理

str1.strip([s])   #删首尾空,可以使用指定参数,删除首尾指定参数

str1.lstrip([s])  #删左首空,同上

str1.rstrip([s])  #删右首空,同上

 

注:如果需要删除中间的空格,则只能使用其他的方法

a、替换方法

str1.replace(‘ ‘,‘‘)  #替换中间所有空格

b、分割方法

‘‘.join(str1.split())

c、正则方法

通过sub匹配替换

 

8、字母转换

常用字母转换

str1.lower()  转换成小写字母

str1.upper()  转换成大写字母

str1.swapcase()  大小写互换

str1.title()  转换为首字母大写,其他字母小写

对应的字母判断方法

str1.islower()  #判断小写

str1.isupper()  #判断大写

str1.istitle()  #判断单词首字母大写

 

判断字符串的开头和结尾

str1.startwith(string)  #判断是否以当前string开头

str1.endwith(string)  #判断是否以当前string结尾

返回值:逻辑型

 

9、字符串格式化

单个参数格式化

print ‘%s是一个好人‘%‘张三‘

两个参数

print ‘%s是一个%s‘%(‘李四‘,‘坏人‘)

注:传递多个参数时需要使用到元组,且必须加括号

 

常用格式化字符串

%s 格式化字符串,可以提供字符串和int

%d 格式化字符串,可以提供数值类型,非int会被强转成int

%x 格式化字符串,可以提供数值类型,非int会被转成int,结果强转成16进制

 

 

未完待续,下一篇将会专门介绍字符串的decode和encode方法

 

以上是关于python序列之字符串的主要内容,如果未能解决你的问题,请参考以下文章

Python第四课(序列之字符串)

python模块之序列化模块

python序列之字符串

python数据结构-序列之字符串

python 基础笔记 — 数据类型之序列

Python数据类型之“文本序列(Text Sequence)”