字符串实现了一般序列的操作(可参考:https://blog.csdn.net/grace666/article/details/103490431),还额外提供了以下列出的一些附加方法
1.str.capitalize():返回原字符串的副本,其首个字符大写,其余为小写
s1="abcde"
print(s1.capitalize()) #Abcde
print(s1) #abcde
s1="Abc"
print(s1.capitalize()) #Abc
print(s1) #Abc
s1="ABC"
print(s1.capitalize()) #Abc
print(s1) #ABC
s1="ßBC"
print(s1.capitalize()) #Ssbc
print(s1) #ßBC
2.str.casefold():返回原字符串转为小写的副本,同str.lower()方法类似,但是更加彻底一些,因为它会移除字符串中的所有大小写变化形式。 例如,德语小写字母 'ß' 相当于 "ss"。 由于它已经是小写了,lower() 不会对 'ß' 做任何改变;而 casefold() 则会将其转换为 "ss"
s1="abcde"
print(s1.casefold()) #abcde
print(s1) #abcde
s1="Abc"
print(s1.casefold()) #abc
print(s1) #Abc
s1="ABC"
print(s1.casefold()) #abc
print(s1) #ABC
s1="ßBC"
print(s1.casefold()) #ssbc
print(s1) #ßBC
3.str.lower():返回原字符串的副本,将字符均转换为小写
s1="Abc"
print(s1.lower()) #abc
print(s1) #Abc
s1="ABC"
print(s1.lower()) #abc
print(s1) #ABC
s1="ßBC"
print(s1.lower()) #ßbc
print(s1) #ßBC
4.str.center(width[, fillchar]):返回长度为 width 的字符串,原字符串处于正中。 使用指定的 fillchar 填充两边的空位(fillchar默认为ASCII 空格符),如果 width 小于等于 len(s) 则返回原字符串的副本
s1="abcde"
print(s1.center(3)) #abcde
print(s1.center(5)) #abcde
print(s1.center(6)) #abcde
print(s1.center(6,"*")) #abcde*
print(s1.center(9,"*")) #**abcde**
print(s1) #abcde
s1="ßBC"
print(s1.center(9,"0")) #000ßBC000
print(s1) #ßBC
5.str.count(sub[, start[, end]]):返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数,区分大小写
s1="abcjflsjfleabcdsabcflweabccbabc"
print(len(s1)) #31
print(s1.count("abc")) #5
print(s1.count("abc",0,30)) #4
print(s1.count("abc",1,30)) #3
print(s1.count("abc",2)) #4
s1="abcjflsjfleabcdsAbcflweabccbAbc"
print(len(s1)) #31
print(s1.count("abc")) #3
print(s1.count("abc",0,30)) #3
print(s1.count("abc",1,30)) #2
print(s1.count("abc",2)) #2
6.str.encode(encoding="utf-8", errors="strict"):返回原字符串编码为字节串对象的版本,默认编码为 'utf-8'。 可以给出 errors 来设置不同的错误处理方案,errors 的默认值为 'strict',表示编码错误会引发 UnicodeError。 其他可用的值为 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及任何其他通过 codecs.register_error() 注册的值
7.str.endswith(suffix[, start[, end]]):如果字符串以指定的 suffix 结束,则返回 True,否则返回 False
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix="abc"
print(s1.endswith(suffix)) #True
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix="babc"
print(s1.endswith(suffix)) #True
(1)suffix 也可以为由多个供查找的后缀构成的元组,貌似只要元组中有1个符合就会返回True
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix=("weab","abcs","babc")
print(s1.endswith(suffix)) #True
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix=("www","bbb","wab")
print(s1.endswith(suffix)) #False
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix=("www","bbb","babc")
print(s1.endswith(suffix)) #True
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix=("www","bbb","**")
print(s1.endswith(suffix)) #False
(2)start表示将从所指定位置开始检查,end表示将在所指定位置停止比较
s1="abcjflsjfleabcdsabcflweabccbabc"
suffix=("weab","abcs","babc")
print(s1.endswith(suffix,2,20)) #False
print(s1.endswith(suffix,2,35)) #True
8.str.expandtabs(tabsize=8):返回字符串的副本,其中所有的制表符会由一个或多个空格替换,把字符串中的tab (即’\t‘)转换为指定的tabsize数量的空格,其中若tabsize未给出则默认为8
s1="01\t012\t0123\t01234"
print(s1.expandtabs()) #01 012 0123 01234
print(s1.expandtabs(3)) #01 012 0123 01234
s1="Iabcdefgh\tlove\tyou"
print(s1.expandtabs()) #Iabcdefgh love you
(1)如果字符为换行符 (\n) 或回车符 (\r),它会被复制并将当前列重设为零
s1="01\n012\n0123\n01234"
print(s1.expandtabs()) #01
#012
#0123
#01234
print(s1.expandtabs(3)) #01
#012
#0123
#01234
s1="01\r012\r0123\r01234"
print(s1.expandtabs()) #01234
print(s1.expandtabs(3)) #01234
(2)任何其他字符会被不加修改地复制并将当前列加一,不论该字符在被打印时会如何显示
s1="01\a012\a0123\a01234"
print(s1.expandtabs()) #01012012301234
print(s1.expandtabs(3)) #01012012301234
s1="01\b012\c0123\d01234"
print(s1.expandtabs()) #0012\c0123\d01234
print(s1.expandtabs(3)) #0012\c0123\d01234
9.str.find(sub[, start[, end]]):返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引,如果 sub 未被找到则返回 -1
s1="abcdeabcdejfjjfabcdw"
substr="bc"
print(s1.find(substr)) #1
substr="fab"
print(s1.find(substr)) #14
substr="bc"
print(len(s1)) #20
print(