1. 程式人生 > >3: Python基礎-字串函式彙總

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