【python實用初階】string 常用12式, split 和 join 超實用

最後更新:December 20, 2022

1. 大小寫變換

英文字母大小寫變換,可以句首大寫、每個字首大寫、全部大寫或小寫。

txt = 'the sketch is so Funny'
print(txt.capitalize())
//The sketch is so funny
print(txt.title())
//The Sketch Is So Funny
print(txt.lower())
//the sketch is so funny
print(txt.upper())
//THE SKETCH IS SO FUNNY

2. 判斷大小寫

從上一個練習就可以知道下面判斷的意思

txt.istitle()
txt.islower()
txt.isupper()

3. 判斷字元(字母、數字、字母+數字)

isalnum() 方法會判斷字串是否為alphanumeric,它是指字母alphabet(a-z)和數字 (0–9)。 isalpha() 和isnumeric()分別判斷字母和數字。

x = '5566'
y = 'apple5566'
z = 'apple'

print(x.isalnum())
//True
print(y.isalnum())
//True
print(z.isalnum())
//True

print(x.isalpha())
//False
print(y.isalpha())
//False
print(z.isalpha())
//True

print(x.isnumeric())
//True
print(y.isnumeric())
//False
print(z.isnumeric())
//False

4. 對齊

參數表示字元總數,是靠左靠右還是置中。

txt = 'coldplay'
print(txt.center(20))
//      coldplay    
print(txt.ljust(20))
//coldplay  
print(txt.rjust(20))
//            coldplay

5. 尋找與取代

回傳由左數來或由右數來第一個出現的指定字母位置。

txt =  'today is a sunny day'
print(txt.find('a'))
//3
print(txt.rfind('a'))
//18

print(txt.index('a'))
//3
print(txt.rindex('a'))
//18

print(txt.replace('su', 'rai'))
//today is a rainny day

6. 判斷字首字尾

判斷字首字尾是否為指定字母,有大有寫之分。

txt = 'Messi'
print(txt.startswith('M'))
//True
print(txt.endswith('I'))
//False

7. 判斷空白、去除空白

除了預設去除空白外,也可以輸入參數去除指定字元。

blank = ' '
print(blank.isspace())
//True
txt = '    hello,world,     '
print(txt.strip() + 'anna')
//hello,world,anna
print(txt.lstrip() + 'anna')
//hello,world,     anna
print(txt.rstrip() + 'anna')
//    hello,world,anna

8. 分割(有保留、不保留)

split 是我最常用的功能之一,通常用空白來分割每個單字。partition和split最大的差別在於前者會保留指定字,後者則否;以及partition只會將句子分成三個部分 – 關鍵字之前、關鍵字、關鍵字之後。

txt = 'earth is round\nand earth is blue'
print(txt.split('earth'))
//['', ' is round\nand ', ' is blue']
print(txt.splitlines())
//['earth is round', 'and earth is blue']
print(txt.partition('earth'))
//('', 'earth', ' is round\nand earth is blue')
print(txt.rpartition('earht'))
//('', '', 'earth is round\nand earth is blue')

9. 合併

join 可以用字元將list中的元素串起來,是一個很實用的功能。

myTuple = ['Mom','Dad','Me'] 
print(' & '.join(myTuple))
//Mom & Dad & Me

10. 轉換與刪除

y代表用哪些字母取代x裡的原先字母,z表示欲刪除的字母,順序為先刪除後取代。

txt = 'aWbbgxsttttstzzzdppp'
x = 'dxW'
y = 'ieM'
z = 'abgtzp'
mytable = txt.maketrans(x, y, z)
print(txt.translate(mytable))
//Messi

11. 格式

限制小數點後留下幾個位數以及百分比都是常用的格式。

txt = 'the apple values {price:.2f} dollars!'
print(txt.format(price = 33))
//the apple values 33.00 dollars!

txt = 'the interest rate now is {rate:.1%}!'
print(txt.format(rate = 0.003))
//the interest rate now is 0.3%!

12. 統計某個字出現幾次

txt = 'ohh~~baby,baby,baby, my lovely baby'
print(txt.count('baby'))
//4