孤叶翔云

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

python基本数据类型之字符串(三)

转换和判断方法

在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式。因此,在这篇文章中,笔者把转换方法和相应的判断方法放在一起进行讲解。
这些方法包括:capitalize、casefold、lower\islower、upper\isupper、maketrans\translate、swapcase、title\istitle

1、capitalize、title、istitle
capitalize和title方法都是将英文首字母转换成大写。不同的是,capitalize是将第一个英文单词的首字母转换为大写,一般用于英文语句;而title是将所有的英文单词首字母转换为大写,一般用于英文标题。istitle则是用来判断文本是否是标题形式。

s = 'help children tomorrow'
v = s.capitalize()
print(v)
v1 = s.istitle()
print(v1)
v2 = s.title()
print(v2)

打印结果:

Help children tomorrow
False
Help Children Tomorrow

如果将文本中的空格删除,则title只能将首字母转换为大写,因此可以推知title方法是按照空格来截取单词,并将每个单词的首字母转换为大写。

2、lower、islower、upper、isupper
lower是将所有的字符串中所有的英文字母转换为小写,upper则是转换为大写。与此对应的,islower和isupper是来判断字符串中的字母是否全为小写或全为大写。

s = 'for The King'
s1 = 'all is lower'
s2 = 'ALL IS UPPER'

v = s.islower()
v1 = s1.islower()
print(v)
print(v1)

v2 = s.isupper()
v3 = s2.isupper()
print(v2)
print(v3)

trans_v1 = s1.upper()
trans_v2 = s2.lower()
print(trans_v1)
print(trans_v2)

打印结果:

False
True
False
True
ALL IS LOWER
all is upper

3、casefold
casefold可以将多种语言中的字符进行大小写转换,也就是根据某种语言中的对应关系,将大写字符转换为小写字符。

s = 'WhatOfekfeFuclKK'
v = s.casefold()
print(v)

打印结果:whatofekfefuclkk

4、swapcase
swapcase方法将字符串中的大写转换为小写、小写转换为大写,这种转换是同时进行的。

s = 'HELLO, i am tom'
v = s.swapcase()
print(v)

打印结果:hello, I AM TOM

5、maketrans、translate
maketrans方法可以创建自定义的字符对应关系,translate方法则根据所创建的自定义关系对字符串中的字符进行替换。
首先是根据指定字符串创建对应关系。

s = 'abcde'
s1 = '12345'
r = str.maketrans(s, s1)
print(r)

打印结果:{97: 49, 98: 50, 99: 51, 100: 52, 101: 53}
可以看到,r是一个自定义的字典,其中字符被转换成对应的unicode码值。
然后可以参照这个字典对字符串中相应的字符进行转换。

v = 'hahaeiejfgjenbowclsd'
new_v = v.translate(r)
print(new_v)

打印结果:h1h15i5jfgj5n2ow3ls4,其中的'abcde'被替换成了'12345'。

posted on 2018-12-30 17:28  孤叶翔云  阅读(111)  评论(0编辑  收藏  举报