字符串的方法、注释及示例1.

capitalize()  把字符串的第一个字符改为大写  /'kæpɪtəlaɪz/  vi. 利用;积累资本vt. 使资本化;以大写字母写;估计…的价值

>>> str1 = 'change the world by program.'
>>> str1.capitalize()
'Change the world by program.'

 casefold()  把整个字符串的所有字符改为小写  python 3.3 以后才有这个函数.

>>> str1 = 'aaaSSSSaaa'
>>> str1.casefold()
'aaassssaaa'

 

lower()  转换字符串中所有大写字符为小写。  /'loɚ/  adj. 下方的;在底部的;(数字或数量)较小的;下游的;下级的;下等的

>>> str1 = 'aaaSSSSaaa'
>>> str1.lower()
'aaassssaaa'

string.casefold和string.lower 区别

python 3.3 引入了string.casefold 方法,其效果和 string.lower 非常类似,都可以把字符串变成小写,那么它们之间有什么区别?他们各自的应用场景?

对 Unicode 的时候用 casefold
string.casefold官方说明:

Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string. For example, the German lowercase letter 'ß' is equivalent to "ss". Since it is already lowercase, lower() would do nothing to 'ß'casefold()converts it to "ss".

The casefolding algorithm is described in section 3.13 of the Unicode Standard

 

lower() 只对 ASCII 也就是 'A-Z'有效,但是其它一些语言里面存在小写的情况就没办法了。文档里面举得例子是德语中'ß'的小写是'ss'

s = 'ß'
s.lower() #  'ß'
s.casefold() # 'ss'

string.lower官方说明:

Return a copy of the string with all the cased characters [4] converted to lowercase.

The lowercasing algorithm used is described in section 3.13 of the Unicode Standard

参考

https://docs.python.org/3/library/stdtypes.html#str.casefold

https://segmentfault.com/q/1010000004586740/a-1020000004586838

总结

汉语 & 英语环境下面,继续用 lower()没问题;要处理其它语言且存在大小写情况的时候再用casefold()

 

center(width)  将字符串居中,并使用空格填充至长度 width 的新字符串   /'sɛntɚ/  n. 中心,中央;中锋;中心点.

>>> str1 = 'Change The World By Program.'
>>> str1.center(40)
'      Change The World By Program.      '

 

 count(sub[, start[, end]])  返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。   /kaʊnt/  v. 数数;计算总数;

>>> str1 = 'asdasddsdsdasdasd'
>>> str1.count('a')
4
>>> str1.count('a',0,10)
2
>>> str1.count('a',5,12)
1
>>> 

encode(encoding='utf-8', errors='strict')  以 encoding 指定的编码格式对字符串进行编码。

endswith(sub[, start[, end]])  检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。  /ɛnd/ /swɪθ/  end n. 结束;目标;尽头;末端;死亡  swith   adv. 立刻,迅速地

 

>>> str1 = 'Change the world by program.'
>>> str1.endswith('m')
False
>>> str1.endswith('m.')
True
>>> str1.endswith('e',0,5)
False
>>> str1.endswith('e',0,6)
True
>>> 

 

 expandtabs([tabsize=8])  把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。  expand  /ɪk'spænd/  vt. 扩张;使膨胀;详述 tabs /tæbs/n. 制表符;跳格设定;标号(tab的复数)

>>> str1 = 'i \tlove \tyou.'
>>> str1.expandtabs(2)
'i   love  you.'
>>> 

 

 find(sub[, start[, end]])  检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。/faɪnd/  vt. 查找,找到;发现;认为;感到;获得

>>> str1 = 'Change the world by program.'
>>> str1.find('z')
-1
>>> str1.find('n',0,4)
3
>>> str1.find('s',0,4)
-1

 

index(sub[, start[, end]])  跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 /'ɪndɛks/  n. 指标;指数;索引;指针.

>>> str1 = 'Change the world by program.'
>>> str1.index('z')
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    str1.index('z')
ValueError: substring not found

isalnum()  如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。

isalpha()  如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。

isdecimal()  如果字符串只包含十进制数字则返回 True,否则返回 False。

isdigit()  如果字符串只包含数字则返回 True,否则返回 False。

islower()  如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。

isnumeric()  如果字符串中只包含数字字符,则返回 True,否则返回 False。

isspace()  如果字符串中只包含空格,则返回 True,否则返回 False。

istitle()  如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。

isupper()  如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。

join(sub)  以字符串作为分隔符,插入到 sub 中所有的字符之间。 /dʒɔɪn/    vi. 加入;参加;结合

>>> str1 = 'Change'
>>> str1.join('LOVE')
'LChangeOChangeVChangeE'

 

转载于:https://www.cnblogs.com/ztmboke/p/11239815.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值