字符串函数操作
isprintable():判断一个字符串中所有字符是否都是可打印字符的. 与isspace()函数很相似
如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 False
str1 = 'gheruiv';
str2 = '\n\t';
print(str1.isprintable()); //True
print(str2.isprintable()); //False
istitle():判断一个字符串中所有单词的首字母是不是大写
返回值为布尔类型,True或者False
str1 = 'wo shi liu wen'
print(str1.istitle()); // False
print(str1.title()); //Wo Shi Liu Wen
join(iterable):根据指定的字符串,将给定的可迭代对象,进行拼接,得到拼接后的对象
返回通过指定字符连接可迭代对象中的元素后生成的新字符串.
可迭代对象:字符串、列表、元祖、字典
str = "woshiliuwen";
n = '-';
res = n.join(str);
print(str); // woshiliuwen
print(res); //w-o-s-h-i-l-i-u-w-e-n
ljust(width,fillchar):根据指定的字符串,将原来的字符串填充够指定长度,返回一个原字符串左对齐,并使用指定字符填充至指定长度的新字符串
rjust(width,fillchar):根据指定的字符串,将原来的字符串填充够指定长度,返回一个原字符串右对齐,并使用指定字符填充至指定长度的新字符串
width:得到目标字符串的长度
fillchar:填充的字符
不会修改原字符,只有字符串长度小于指定长度才会填充
str1 = "liuwen"
res1 =str1.ljust(20,'-')
res2 =str1.rjust(20,'-')
print(res1) // liuwen--------------
print(res2) //--------------liuwen
str.maketrans(intab,outtab):方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
intab:需要转换的字符组成的字符串。
outtab:转换的目标字符组成的字符串。
注意:两个字符串的长度必须相同,为一一对应的关系。返回字符串转换后生成的新字符串。
m = "vndlvbldapelsjfosj"
n = str.maketrans("aljsv","12345");
res = m.translate(n);
print(res); // 5nd25b2d1pe243fo43
swapcase():用于对字符串的大小写字母进行转换,返回大小写字母转换后生成的新字符串
str = 'LIu weN mINg';
res = str.swapcase();
print(res); // liU WEn MinG
spilt(sep,maxsplit):通过指定分隔符将一个大的字符串进行分割变成几个小的字符串并返回一个列表。并不会修改原字符串
sep:分割符
maxsplit:最大分割次数,可以省略 有多少分割多少
str = 'ljbjgdfkjmmjhusjdvdjsjs'
res1 = str.split();
res2 = str.split("j");
res3 = str.split("j",3);
print(res1); // ['ljbjgdfkjmmjhusjdvdjsjs']
print(res2); // ['l', 'b', 'gdfk', 'mm', 'hus', 'dvd', 's', 's']
print(res3); // ['l', 'b', 'gdfk', 'mmjhusjdvdjsjs']
splitlines(keepends=False):按照换行符(\r,\n),将字符串拆解成多个元素,保存到列表中.
keepends:默认为False,为True时,会保留换行符
不会修改原来字符串
str = 'liu\nwen\nming\n'
print(str.splitlines()); //['liu', 'wen', 'ming']
str1 = 'liu\nwen\nming\n'
print(str1.splitlines(True)); // ['liu\n', 'wen\n', 'ming\n']
partition(seq):根据指定的分隔符,返回(分隔符左边内容,分隔符,分隔符右边内容)
rpartition(seq):用法和上面的相同
seq:分隔符 返回一个元组
不会修改原来字符串 从左边开始查找分隔符
str = "jsh-vksgv-shkvk-fwouf";
res1 = str.partition("-");
print(res1); // ('jsh', '-', 'vksgv-shkvk-fwouf')