与字符串相关的常用函数
#1.capitalize() 将字符串的第一个字符转换为大写,返回新的字符串
## 注意:只有第一个字符是字母的时候才有效
str1 = 'abcd'
print(str1.capitalize())
# 2.center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
str2 = 'abc'
print(str2.center(11,'0'))
# 3. count(str) 返回 字符串1 在 字符串2 里面出现的次数
print('abcabcabcab'.count('abc'))
# 6.endswith(suffix) endswith() 方法用于判断字符串是否以指定后缀结尾,如果是则返回 True,否则返回 False。
"""
S -- 父字符串。
suffix -- 指定后缀,该参数可以是一个字符串或者是一个元素。
start -- 可选参数,字符串中的开始位置索引,默认为0。(可单独指定)
end -- 可选参数,字符中结束位置索引,默认为字符串的长度。(不能单独指定)
"""
print('hello wold'.endswith('d')) # True
print('hello wold'.endswith('o',0,-2)) #True
print('hello wold'.endswith('l',0,-2)) #False
#7.expandtabs(tabsize=8)
"""
expandtabs() 方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
从头开始数,数到第一个\t正好为8个空格,不足则补空格,如果还有\t,接着从第一个\t数到第二个\t仍然为8个空格,
以此类推直到最后一个\t结束。
"""
str7 = 'how\tare\tyou'
print(str7.expandtabs()) #how are you
print(str7.expandtabs(15))#how are you
# 8.find(str, beg=0 end=len(string))
"""
find() 方法从字符串中找出某个子字符串第一个匹配项的索引位置,该方法与 index() 方法一样,
只不过如果子字符串不在字符串中不会报异常,而是返回-1。
"""
str8 = 'how are you?'
print(str8.find('you')) #8
print(str8.find('you',5)) #8
print(str8.find('you',9)) # -1
print(str8.find('you',4,11)) # 8
# 9.index(str, beg=0, end=len(string))
#跟find()方法一样,只不过如果str不在字符串中会报一个异常
str9 = 'how are you?'
print('str9=',str9.index('you')) #8
print('str9=',str9.index('you',5)) #8
#print('str9=',str9.index('you',9)) # ValueError: substring not found
print('str9=',str9.index('you',4,11)) # 8
#10.isalnum() 方法检测字符串是否由字母和数字组成。
print('asdkah234143'.isalnum())#True
print('jsjd =6125&^'.isalnum())#False
#11.isalpha() 方法检测字符串是否只由字母或汉字组成
print('ajhksdj测试'.isalpha())#True
print('ajhksdj测试2'.isalpha())#False
#12 isdigit(),如果字符串只包含数字则返回 True 否则返回 False
print('6152637'.isdigit())#True
print('732898akjsh'.isdigit())#False
#13.islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,
# 则返回 True,否则返回 False
print('a23435'.islower())#True
print('66sjdhaW'.islower())#False
#14.isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)
print('str14=','182739'.isnumeric())#True
print('str14=','182739a'.isnumeric())#False
print('str14=','182739一'.isnumeric())#True
print('str14=','182739一壹'.isnumeric())#True
#15.isspace() 如果字符串中只包含空白,则返回 True,否则返回 False.
print('str15=','\t'.isspace())#True
print('str15=',''.isspace())#False
#16 istitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
print('str16=','How Are You'.istitle())#True
print('str16=','How Are you'.istitle())#False
#17 isupper() 如果字符串中包含至少一个区分大小写的字符,
# 并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
print('str17=','SHGJIU GJ213'.isupper())#True
print('str17=','SHGJIU gJ213'.isupper())#False
#18.join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
print('str18=','&'.join('123456789'))#str18= 1&2&3&4&5&6&7&8&9
#19.len(string) 返回字符串长度
print('str19=','123456789'.__len__())#str19= 9
#20.ljust(width[, fillchar]) 返回一个原字符串左对齐,
# 并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
print('str20=','abc'.ljust(7,'0'))#str20= abc0000
#21 lower() 转换字符串中所有大写字符为小写.
print('str21=','ASFDas123d'.lower())#str21= asfdas123d
#22 lstrip() 截掉字符串左边的空格或指定字符。
print('str22=','\tasdaf'.lstrip())#str22= asdaf
print('str22=','asdaf'.lstrip('a'))#str22= sdaf
print('str22=','asdaf'.lstrip('s'))#str22= asdaf
#24.max(str) 返回字符串 str 中最大的字母。
print('str24=',max('aAzZ123'))# str24= z
#25.min(str) 返回字符串 str 中最小的字母。
print('str24=',min('aAzZ123'))#1
print('str24=',min('aAzZ'))#A
#26.replace(old, new [, max]) 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
print('str26=','123sa'.replace('123','456'))#str26= 456sa
print('str26=','aaaaa1234'.replace('a','ccc',3))#str26= cccccccccaa1234
#27.rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找
print('str27=','how are you'.rfind('are'))#str27= 4
print('str27=','how are you'.rfind('are',-2))#str27= -1
print('str27=','how are you'.rfind('are',1))#str27= 4
print('str27=','how are you'.rfind('are',2,-2))#str27= 4
#28.rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始
str28 = 'how are you?'
print('str28=',str28.rindex('are')) #4
print('str28=',str28.rindex('are',2)) #4
#29.rjust(width,[, fillchar]) 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
print('str29=','abc'.rjust(7,'0'))#str29= 0000abc
#30 rstrip() 删除字符串字符串末尾的空格
print('str30=','asdaf\t'.rstrip())#str30= asdaf
print('str30=','asdaf'.rstrip('f'))#str30= asda
print('str30=','asdaf'.rstrip('a'))#str30= asdaf
#31 split 拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
# 语法:str.split(str="",num=string.count(str))[n]
"""
参数说明:
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
"""
print('str31=','abc.ac.bc.ab'.split('.'))#str31= ['abc', 'ac', 'bc', 'ab']
print('str31=','abc.ac.bc.ab'.split('.',2))#str31= ['abc', 'ac', 'bc.ab']
print('str31=','abc.ac.bc.ab'.split('.',2)[1])#str31= ac
#32.splitlines([keepends]) 按照行界符('\r', '\r\n', \n'等)分隔,返回一个包含各行作为元素的列表,默认不包含行界符。
print('str32=','how\nare\nyou'.splitlines())#str32= ['how', 'are', 'you']
print('str32=','how\nare\nyou'.splitlines(True))#str32= ['how\n', 'are\n', 'you']
#33 startswith(str, beg=0,end=len(string)) 用于判断字符串是否以指定前缀开头,如果是则返回 True,否则返回 False。
print('str33=','hello wold'.startswith('d')) # False
print('str33=','hello wold'.startswith('o',4,)) #True
print('str33=','hello wold'.startswith('l',2,-1)) #True
#34 strip([chars]) 用于删除字符串头部和尾部指定的字符,默认字符为所有空字符,包括空格、换行(\n)、制表符(\t)等。
print('str34=','***abc***'.strip('*'))#str34= abc
#35.swapcase() 用于对字符串的大小写字母进行转换
print('str35=','how are you'.swapcase())#str35= HOW ARE YOU
print('str35=','How Are You'.swapcase())#str35= hOW aRE yOU
#36 title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
print('str36=','how are you'.title())#str36= How Are You
#37. translate(table, deletechars="")
#方法根据 maketrans() 方法给出的字符映射转换表转换字符串中的字符。
#38.upper() 转换字符串中的小写字母为大写
print('str38=','how are you'.upper())#str38= HOW ARE YOU
#39. zfill (width) 返回指定长度的字符串,原字符串右对齐,前面填充0。
print('str39=','abc'.zfill(8))#str39= 00000abc
#40. isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
#注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
print('str40=','dfsd1245'.isdecimal())#str40= False
print('str40=','1245'.isdecimal())#str40= True
网友评论