3: Python基礎-字串函式彙總
1 capitalize
功能:將字串的第一個字元轉換為大寫
my_str = "i love python"
result = my_str.capitalize()
print(result)
結果:I love python
2 center(width,fillchar)
功能:返回一個指定的寬度 width 居中的字串,fillchar 為填充的字元,預設為空格。如果width字串長度,則結果返回原字串
my_str = "i love python" result = my_str.center(20,'*') print(result) 結果:***i love python**** result = my_str.center(2,'*') print(result) 結果:i love python
3 count(str, beg= 0,end=len(string))
功能:返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數檢查的字串為:my_str[beg:end] beg下標可以取到,end下標取不到
my_str = "i love python"
result = my_str.count('o')
print(result)
結果:2
my_str = "i love python"
result = my_str.count('n',3,-1)
print(result)
結果:0
4 bytes.decode(encoding=“utf-8”, errors=“strict”)
功能:Python3 中沒有 decode 方法,但我們可以使用但我們可以使用 bytes 物件的 decode()方法來解碼給定的 bytes 物件,這個 bytes 物件可以由 str.encode() 來編碼返回。
my_str = "i love python"
result = my_str.encode(encoding="utf-8", errors="strict")
result = result.decode(encoding="utf-8", errors="strict")
print(result)
結果:i love python
5 encode(encoding=‘UTF-8’,errors=‘strict’)
功能: 以 encoding 指定的編碼格式編碼字串,如果出錯預設報一個ValueError 的異常,除非 errors 指定的是’ignore’或者’replace’
my_str = "i love python"
result = my_str.encode(encoding="utf-8", errors="strict")
print(result)
結果:b'i love python'
6 endswith(suffix, beg=0, end=len(string))
功能: 檢查字串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.檢查的字串為:my_str[beg:end] beg下標可以取到,end下標取不到
my_str = "i love python"
result = my_str.endswith('n')
print(result)
結果: True
result = my_str.endswith('o',0,-1)
print(result)
結果: True
7 expandtabs(tabsize=8)
功能:把字串 string 中的 tab 符號轉為空格,tab 符號預設的空格數是 8 。
my_str = "i\tlove\tpython"
print(my_str)
result = my_str.expandtabs(10)
print(result)
結果:
i love python
i love python
8 find(str, beg=0 end=len(string)) 檢測 str 是否包含在字串中,
功能:如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1
my_str = "i love python"
result = my_str.find('o')
print(result)
結果:3
result = my_str.find('n',0,-1)
print(result)
結果:-1
9 index(str, beg=0, end=len(string))
功能:跟find()方法一樣,只不過如果str不在字串中會報一個異常.
my_str = "i love python"
result = my_str.index('o',0,-1)
print(result)
結果:3
result = my_str.index('n',0,-1)
print(result)
結果:報錯
10 isalnum()
功能:如果字串至少有一個字元並且所有字元都是字母或數字則返 回 True,否則返回 False
my_str = "i love python"
result = my_str.isalnum()
print(result)
結果:False
my_str = "ilovepython21"
result = my_str.isalnum()
print(result)
結果:True
11 isalpha()
功能:如果字串至少有一個字元並且所有字元都是字母則返回 True, 否則返回 False
my_str = "ilovepython"
result = my_str.isalpha()
print(result)
結果:True
my_str = "i2lovepython"
result = my_str.isalpha()
print(result)
結果:False
12 isdigit()
功能:如果字串只包含數字則返回 True 否則返回 False…
my_str = "123456"
result = my_str.isdigit()
print(result)
結果:True
13 islower()
功能:如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False
my_str = "i love python"
result = my_str.islower()
print(result)
結果:True
14 isnumeric()
功能: 如果字串中只包含數字字元,則返回 True,否則返回 False(中文數字也可以)
my_str = "123456十貳二"
result = my_str.isnumeric()
print(result)
結果:True
15 isspace()
功能:如果字串中只包含空白,則返回 True,否則返回 False.
my_str = " "
result = my_str.isspace()
print(result)
結果:True
16 istitle()
功能: 如果字串是標題化的(見 title())則返回 True,否則返回 False
my_str = "I Love U"
result = my_str.istitle()
print(result)
結果:True
17 isupper()
功能: 如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是大寫,則返回 True,否則返回 False
my_str = "I LOVE U"
result = my_str.isupper()
print(result)
結果:True
18 join(seq)
功能: 以指定字串作為分隔符,將 seq 中所有的元素(的字串表示)合併為一個新的字串
功能:將my_str 插入到 seq 每個字元之間
my_str = "I LOVE U"
result = my_str.join("Hey")
print(result)
結果:HI LOVE UeI LOVE Uy
19 len(string) 返回字串長度 my_str = “I LOVE U” result = len(my_str) print(result)
結果:8
20 ljust(width[, fillchar])
功能:返回一個原字串左對齊,並使用 fillchar 填充至長度 width 的新字串,fillchar 預設為空格。
my_str = "i love python"
result = my_str.ljust(20,'*')
print(result)
結果:i love python*******
21 lower()
功能:轉換字串中所有大寫字元為小寫.
my_str = "I LOVE U"
result = my_str.lower()
print(result)
結果:i love u
22 lstrip()
功能:截掉字串左邊的空格或指定字元字串一個一個匹配,如果發現與被截字串左側的字元相同,則截去該字元
my_str = " I LOVE U"
result = my_str.lstrip()
print(result)
結果: I LOVE U
my_str = "ILOVEU"
result = my_str.lstrip('I')
print(result)
結果:LOVEU
my_str = "ILOVEU"
result = my_str.lstrip('IALAAO')
print(result)
結果:VEU
a = 'c:/svncode'
b = 'c:/svncode/calendar'
print(b.lstrip(a))
strip方法只是比對字元並去除,而不是字串!因此當b使用lstrip剩下’/calendar’的時候,會繼續進行,a中有’/’,因此’/calendar’變成’calendar’,a中有’c’,因此’calendar’變成’alendar’。
23 maketrans()
功能: 建立字元對映的轉換表,對於接受兩個引數的最簡單的呼叫方式,功能:第一個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標。兩個字串的長度必須相同,為一一對應的關係。
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str1 = "this is string example....wow!!!"
print (str1.translate(trantab))
結果:th3s 3s str3ng 2x1mpl2....w4w!!!
24 max(str)
功能: 返回字串 str 中最大的字母。
my_str = "ILOVEUZ"
result = max(my_str)
print(result)
結果:Z
25 min(str)
功能:返回字串 str 中最小的字母。
my_str = "AaILOVEUZ"
result = min(my_str)
print(result)
結果:A
26 replace(old, new [, max])
功能:把將字串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。
my_str = 'I make for you'
result = my_str.replace('o','9',1)
print(result)
結果: I make f9r you
27 rfind(str, beg=0,end=len(string))
功能:類似於 find()函式,不過是從右邊開始查詢.
my_str = "i love python"
result = my_str.rfind('o')
print(result)
結果:11
result = my_str.rfind('o',0,4)
print(result)
結果:3
28 rindex( str, beg=0, end=len(string))
功能:類似於 index(),不過是從右邊開始.
my_str = "i love python"
result = my_str.rindex('o')
print(result)
結果:11
result = my_str.rindex('o',0,4)
print(result)
結果:3
29 rjust(width,[, fillchar])
功能:返回一個原字串右對齊,並使用fillchar(預設空格)填充至長度 width 的新字串
my_str = "i love python"
result = my_str.rjust(20,'*')
print(result)
結果:*******i love python
30 rstrip() 刪除字串字串末尾的空格.
功能:從"ILOVEU"尾部每一個字元開始,查詢’IMVZEXU’是否含有該字元,若含有除"ILOVEU"中的該字元直到"ILOVEU"尾部對應的字元在’IMVZEXU’沒有找到,停止擷取操作
my_str = "ILOVEU"
result = my_str.rstrip('IMVZEXU')
print(result)
結果:ILO
31 split(str="", num=string.count(str)) num=string.count(str))
功能:以 str 為分隔符擷取字串,如果 num 有指定值,則僅擷取 num 個子字串
my_str = "IaLOVEaU"
result = my_str.split('a',1)
print(result)
結果:['I', 'LOVEaU']
result = my_str.split('a')
print(result)
結果:['I', 'LOVE', 'U']
32 splitlines([keepends])
功能:按照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表:如果引數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
my_str ='I\rLOVE\r\nUA\nA'
result = my_str.splitlines()
print(result)
結果:['I', 'LOVE', 'UA', 'A']
result = my_str.splitlines(True)
print(result)
結果:['I\r', 'LOVE\r\n', 'UA\n', 'A']
33 startswith(str, beg=0,end=len(string))
功能:檢查字串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。
my_str = "I LOVE U"
result = my_str.startswith('I')
print(result)
結果: True
result = my_str.startswith('L',2,-1)
print(result)
結果: True
34 strip([chars])
功能:在字串上執行 lstrip()和 rstrip(),前後同時開始擷取操作
my_str = "ILOVEU"
result = my_str.strip('ILAEU')
print(result)
結果: OV
35 swapcase()
功能: 將字串中大寫轉換為小寫,小寫轉換為大寫
my_str = "I love U"
result = my_str.swapcase()
print(result)
結果: i LOVE u
36 title()
功能: 返回"標題化"的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())
my_str = "I love U"
result = my_str.title()
print(result)
結果: i LOVE u
37 translate(table, deletechars="")
功能: 根據 str 給出的表(包含 256 個字元)轉換 string 的字元, 要過濾掉的字元放到 deletechars 引數中
A_str = 'abcd'
B_str= '1234'
maketrans_code = str.maketrans(A_str,B_str)
my_str = 'l like abcd'
result = my_str.translate(maketrans_code)
print(result)
結果: l like 123
38 upper()
功能: 轉換字串中的小寫字母為大寫
my_str = "I love U"
result = my_str.upper()
print(result)
結果: I LOVE U
39 zfill (width)
功能: 返回長度為 width 的字串,原字串右對齊,前面填充0
my_str = "I love U"
result = my_str.zfill(20)
print(result)
結果: 000000000000I love U
40 isdecimal()
功能: 檢查字串是否只包含十進位制字元,如果是返回 true,否則返回 false。
my_str = "123"
result = my_str.isdecimal()
print(result)
結果:True