python str 方法
方法說明範例結果
capitalize() 字串第一字變大寫。
第一次若非應文字母則不變。
a = "ab ab"
a.capitalize()
a = "Ab ab"
center(width , char) 填充 width 個指定的 char 字元。 a = center(3 , "T") a = "TTT"
center(width , char) 填充 width 個指定的 char 字元。 a = "123"
a.center(7 , "*")
a = "**123**"
count(b [, start [, end]] ) 在字串中統計 b 字串出現的次數。
start 為找尋的起點
end 為找尋的終點
a = "ABCDEXBCT"
b = "BC"
a.count(b)//ABCDEXBCT
a.count(b,2)//CDEXBC
a.count(b,0,5)//ABCDEX
"1231112311".count("1)


2
1
1
6
find(b [,start [,end]] ) 在字串中找尋 b 字串出現的位置。
start 為找尋的起點
end 為找尋的終點
找不到則傳回 -1
a = "ABCXTBCA"
a.find("CX")//"ABCXTBCA"
a.find("CX",2)//"ABCXTBCA"
a.find("BC",3,6)//"ABCXTBCA"
a.find("MM")

2
2
4
-1
index(t,start,end) 與 find 同,但差別在於, 若不在 s 內 則引發 ValueError a="12345"
a.index("x")
ValueError:substring
not found
format(...) 參考說明    
isalnum() 若字串不是空字串且字串裡只有數字與英文字母組合則傳回 True 否則傳回 False a = "ABmt3"
b = "Ax-47"
a.isalnum()
b.isalnum()


True
False
isalpha() 若字串不是空字串且字串裡只有英文字母組合則傳回 True 否則傳回 False a = "ABmt"
b = "Axc47"
a.isalnum()
b.isalnum()


True
False
isdecimal() 若 s 不是空字串且 s 裡只有數字組合,則傳回 True 否則傳回 False a = "ABmt"
b = "Axc47"
a.isalnum()
b.isalnum()


True
False
isdigit() 若字串不是空字串且字串裡只有英文字母組合則傳回 True 否則傳回 False a = "ABmt"
b = "Axc47"
a.isalnum()
b.isalnum()


True
False
isnumeric() 若 s 不是空字串且 s 裡只有Unicode的數字組合
則傳回 True 否則傳回 False
a="123"
a.isnumeric()
a="12.3"
a.isnumeric()
True


False
isspace() 若 s 不是空字串且 s 裡每一個字皆空白,
則傳回 True 否則傳回 False
len("中文字")
len(u"中文字")
3
6
istitle() 若 s 不是空字串且 s 第一個字是大寫的標題
字串,則傳回 True 否則傳回 False
"Abc".istitle()
"ABc".istitle()
True
False
islower() 若 s 不是空字串且 s 皆小寫字串,
則傳回 True 否則傳回 False
a = "xtc"
print( a.islower())

True
isupper() 若 s 不是空字串且 s 皆大寫字串,
則傳回 True 否則傳回 False
a = "a3c"
print( a.isupper())

False
len() 求字串長度 len("中文字")
len(u"中文字")
3
6
ord() 求字元的 ASCII 碼 a = "Aa0x"
ord(a[2])

48
chr() 以 ASCII 碼反求字元 chr(48) "0"
lower() 以副本傳回(原字串不變)大寫英文字母轉成小寫。
原字串不變。
a = "DA-3f"
a.lower()
a[0].lower()
print(a)

"da-3f"
"d"
"DA-3f"
upper() 以副本傳回(原字串不變)小寫英文字母轉成大寫。 a = "B2u-x"
a.upper()
a[4].upper()
print(a)

"B2U-X"
"X"
"B2u-x"
strip(chars) 移除前、後面的指定字元(內定空白字元),
並以副本傳回。
s="AABCCCA"
print(s.strip("A"))

"BCCC"
lstrip(chars) 移除前面的指定字元(內定空白字元),
並以副本傳回。
s="   ABCCC   "
print(s.lstrip())
"ABCCC   "
rstrip(chars) 移除後面的指定字元(內定空白字元),
並以副本傳回。
s="ABCCC"
print(s.rstrip("C"))
"AB"
swapcase() 大小寫互換。 s = "Axt3MT-"
s.swapcase()
"aXT3mt-"
join() 以字元連接每一個元素 a="+"
b=("1","2","3")
a.join(b)
1+2+3
replace(t,u,n) 前面 n 個字元,將 t 字串換成 u 字串 a = "xAu1Ab"
a.replace("1", "1" ,"-")
a = "xAu-bAu-sAu"
a.replace("Au" , "#")
xAu-Ab

x#-b#-s#
rfind(t) 傳回 t 在 s 最右邊的位置,開頭以0表示,
若不在 s 內 則傳回 -1
a = "0AbxA"
a.rfind("A")

4
title() 將每一個單字第一個字母變大寫。 a = "this is a book."
a.title()
"This Is A Book."
zfill(w) 在寬度 w 下,不足者前面補 0 a = "12.34"
a.zfill(8)
"00012.34"
ljust(n,x) 以寬度 n 填充右邊字元 x a = "AB"
a.ljust(5,"#")

"AB###"
rjust(n,x) 以寬度 n 填充左邊字元 x a = "AB"
a.rjust(5,"#")

"###AB"
split(t [,n] ) 將字串中以字串t為分割符號。由左而右分割。
若有參數 n,則只分割前面 n 個。
分割的結果以陣列儲存。
a = "ABC2BBC-cBC42"
a.split("BC")
a.split("BC",2)
["A","2B","-c","42"]
["A","2B","-cBC42"]
rsplit(t [,n] ) 反向分割,同上述分割,但是由右而左分割。 a = "ABC2BBC-cBC42"
a.rsplit("BC",2)
["ABC2B","-c","42"]
splitlines(f) 以跳行碼分割 s ,並傳回其副本,
f 為 True 則保留跳行碼
a = "AB\nX\n--"
a.splitlines(False)
a.splitlines(True)

[ "AB","X","--" ]
[ "AB\n","X\n","--"]
startswith(x,start,end) 傳會 s 字串是否以 x 為開頭, x 可以是一個
tuple 或字串。
a = "uF3 -7A"
a.startswith("u")
a.strrtswith("F")
a.strrtswith("u",1)
a.strrtswith( ("F","u"))

True
False
False
True

容易混淆函數使用結果整理
文字num.isdigit()num.isdecimal()num.isnumeric()
a = "34" TrueTrueTrue
a = "三四" False False True
a = "IV" #羅馬字 False False False
a = "?肆" False False True
a = "34" #全型 True True True
a = "\x30" #ASCII "0" True True True
a = "\u00BD" #½ True False True