1. 程式人生 > >python基本資料型別之字串(三)

python基本資料型別之字串(三)

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'。