字符串[内建函数]

字符串操作方法
str = 'xxx'

1.大小写转换操作
str.upper()大写
str.lower()小写
str.title()所有单词 首字母大写 其他字母小写
str.capitalize()首字母大写 其他字母小写
swapcase() 大小写转换

2.is判断
str是否是指定格式 返回True/False
a.isdigit()整型数字

如果字符串只包含数字则返回 True 否则返回 False..

a.isdecimal()十进制数字

如果字符串只包含数字则返回 True 否则返回 False..

a.isalnum()由字母或数字组成

如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

a.isnumeric()#针对unicode对象 是否只由数字组成

如果字符串中只包含数字字符,则返回 True,否则返回 False

a.isalpha()字母

如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

a.isupper()大写

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

a.islower()小写

如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

a.istitle()单词首字母大写 其他字符不能是大写

如果字符串是标题化的(见 title())则返回 True,否则返回 False

a.isspace()空格

如果字符串中只包含空白,则返回 True,否则返回 False.

a.isprintable()制表符

字符串只包含

a.isidentifier()换行

字符串只包含

3.填充(填充的缺省值是空格)
str.center(width[, fillchar])
字符串居中 设定宽度 和填充字符
str.ljust(width[, fillchar])
str.rjust(width[, fillchar])
在字符串左边 右边 填充
str.zfill(width) 用0在左侧填充
用0填充在字符串S的左边使其长度为width。如果S前右正负号+/-,则0填充在这两个符号的后面,且符号也算入长度。
如果width小于或等t于S的长度,则无法填充,直接返回S本身

4.子串搜索 (搜索符合左闭右开原则)
str.count(sub[,start[,end]])
str.endswith( suffix[, start[, end]])
str.startswith( prefix[, start[, end]])
(suffix/prefix)是元组tuple时,只要其中任何一个元素满足条件 就返回True

str.find(sub[,start[,end]]) 如果包含,返回sub索引位置;否则返回'-1'
str.rfind()
str.index() 找不到子串抛出ValueError错误
str.rindex()

5.替换
str.replace(old,new[,count])
给定count只替换前count个old;若找不到子串则直接返回字符str
str.expandtabs(N)
将\t替换为一定数量的空格 默认N=8

str.translate(table)
str.maketrans(x[,y[,z]])
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻译表
str = "this is string example....wow!!!"
print(str.translate(trantab))

6.分割
str.partition(sep)
str.rpartition(sep)
搜索字符串S中的子串sep,并从sep处对S进行分割,最后返回一个包含3元素的元组:sep左边的部分是元组的第一个元素,sep自身是元组的二个元素,sep右边是元组的第三个元素。
partition(sep)从左边第一个sep进行分割,rpartition(sep)从右边第一个sep进行分割。
如果搜索不到sep,则返回的3元素元组中,有两个元素为空。partition()是后两个元素为空,rpartition()是前两个元素为空。

只搜索到一个sep时,两者结果相同

print('abcxyzopq'.partition('xy'))
('abc', 'xy', 'zopq')
print('abcxyzopq'.rpartition('xy'))
('abc', 'xy', 'zopq')

搜索到多个sep时,分别从左第一个、右第一个sep分割

print('abcxyzxyopq'.partition('xy'))
('abc', 'xy', 'zxyopq')
print('abcxyzxyopq'.rpartition('xy'))
('abcxyz', 'xy', 'opq')

搜索不到sep

print('abcxyzxyopq'.partition('xyc'))
('abcxyzxyopq', '', '')
print('abcxyzxyopq'.rpartition('xyc'))
('', '', 'abcxyzxyopq')

分割字符串 并生成一个列表
str.split()
str = 'asdfasdvcweadfsfad'
print(str.split('a',4)#分隔符 分割次数

str.rsplit()
str.splitlines()#专门用来分割换行符

7.join
s.join(iterable)
join(seq)以指定字符串作为分隔符 将seq中的所有元素(的字符串表示)合并为一个新的字符串

8.修剪
strip([chars]) 默认值为空格
freshfruit = [' banana', ' loganberry ', 'passion fruit ']
print([weapon.strip() for weapon in freshfruit])
lstrip ([chars])
rstrip([chars])
分别是移除左右两边、左边、右边的字符char。如果不指定chars或者指定为None,则默认移除空白(空格、制表符、换行符)。
唯一需要注意的是,chars可以是多个字符序列。在移除时,只要是这个序列中的字符,都会被移除

猜你喜欢

转载自www.cnblogs.com/spacescp/p/10129192.html