字符串大小写转换
string = "Eternal night star River"
需注意的是,由于字符串不可变,所有的转换均只是返回一个结果,而字符串本身并不改变。
(1)capitalize()将字符串的首字母大写而其他字母均小写:
(2)title()将字符串内各个单词的首字母大学:
(3)swapcase()将字符串内所有字母进行大小写翻转:
(4)upper()将字符串内所有字母进行大写:
(5)lower()将字符串内所有字母进行小写:
(6)casefold()将字符串内所有字母进行小写,,与lower()不同的是,lower()仅能识别英文字母进行转换,而casefold()可识别多种语言。
左中右对齐
(1)center(width, fillchar),给一定的宽度,并将字符串居中,左右部分用指定字符填充,默认为空格:
(2)左对齐ljust(width, fillchar):
(3)右对齐rjust(width, fillchar)
查找
(1)count(sub, start, end),查找列表内索引范围start~end内的元素sub出现的次数:
(2)find(sub, start, end),查找指定范围内指定元素的索引值,从左往右的顺序查找,而rfind()是从右往左去找:
(3)index(sub, start, end),同find()用法一致,不同的是,如果查找的是不存在的元素,find()
会返回结果-1,而index()会报错:
(4)replace(old, new, count=-1),查找并更换,count为替换的次数,默认为-1,表示全部替换,比如把字符串string中'star'换成'stardew':
只替换一次't'->'T':
(5)startswith(prefix, start, end),查找指定字符串是否为查找字符串指定范围内的起始位置:
也可以进行多个字符串进行查找匹配,但必须待匹配的元素要以元组形式进行,其中一个在指定范围的起始位置就会返回True,如想查找('aa', 'Et', 'bb')其中是否有字符串在string的起始位置:
(6)endswith()则是查找查找指定字符串是否为查找字符串指定范围内的末尾位置:
(7)istitle(),查找字符串内的单词是否为首字母大写,而其他字母为小写:
(8)isalpha(),判断字符串内是否均为字母(注意空格):
字符串截取
(1)首尾字符去除:
左右去除字符:strip(char=None),左边去除:lstrip(),右边去除:rstrip():
char默认为None,为去除空格:
虽然char我们令其为一个字符串,但字符串剔除其实是按照char单个字符进行匹配并去除的,如:
(2)匹配前缀或后缀去除:
removeprefix(prefix),将prefix对应的前缀去除,如果没有prefix对应的前缀则无效:
removesuffix(suffix)将suffix对应的后缀去除,如果没有suffix对应的后缀则无效:
字符串拆分及拼接
(1)partition(sep),将字符串以sep为分隔符进行分割,并返回一个三元组(sep前字符串,sep,sep后字符串);
rpartition(sep)是从右向左分割,partition()是从左向右分割:
(2)split(sep=None, maxsplit=-1),默认以空格进行分割,以每个空格进行分割点进行分割,并返回一个列表(并不包括空格):
如果指定sep=I,则会将字符串"It Is A Dog",分割为:
如果指定为分割一次,即sep=I,maxsplit=1:
易知 rsplit() 是从右往左根据分割参数sep进行分割:
(3)splitlines(),将字符串按行进行分割并以列表的形式返回:
如字符串
x = "aaa\nbbb\nccc\ndd\naaa"
splitlines()其实包含一个参数keepends,表示是否包含换行符,默认为False,如果定义为True,则结果为:
(4)join(iterable),字符串拼接方法,将可迭代对象iterable进行拼接。如可迭代对象:
fruits = ['mangosteen', 'pear', 'durian', 'banana', 'orange', 'apple']
用下划线_进行拼接: