Python-Str(字符串)

字符串实现了一般序列的操作(可参考: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(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值