1. 程式人生 > >【Rollo的Python之路】Python:字符串內置函數

【Rollo的Python之路】Python:字符串內置函數

make 小寫變大寫 末尾 過濾 isl code \n 方法 sub

1.0 Join()方法:

a = "123"
b = "abc"
c = "kkk"

d1 = a + b
d2 = "".join([a,b])
d3 = ".....".join([a,b])
d4 = ".....".join([a,b,c])

print(d1) #+號可以用來字符串的拼接,但是太耗內存,效率很低。
print(d2) #一般都用這個
print(d3) #其實空字符串在中間
print(d4) #其實空字符串在中間

#執行結果:

123abc
123abc
123.....abc
123.....abc.....kkk

2.0 isdigit():判斷一個字符串是否全是數字組成,如果是就True,如果有其字符就返回False

a = "123"
b = "abc"
c = "kkk"

print(a.isdigit())
print(b.isdigit())

#執行結果:
True
False

3.0 count():計算字符串的個數,count(str, beg= 0,end=len(string)),如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數

a = "123"
b = "abc"
c = "kkk"


print(c.count("
k")) #執行結果: 3

4.0 capitalize():首字母大寫

 Return a capitalized version of the string.
        
        More specifically, make the first character have upper case and the rest lower
        case.
a = "123"
b = "abc"
c = "kkk"

print(a.capitalize())
print(c.capitalize())

#執行結果:
123
Kkk

5.0 center():居中,必須要兩個值 ,一個字符串個數,一個什麽字符,原字符串居中

Return a centered string of length width.
        
        Padding is done using the specified fill character (default is a space).

a = "123"
b = "abc"
c = "kkk"

print(a.center(50,"-"))

#執行結果:

-----------------------123------------------------

6.0 encode()解碼用的。以 encoding 指定的編碼格式編碼字符串,如果出錯默認報一個ValueError 的異常,除非 errors 指定的是‘ignore‘或者‘replace

7.0 endwith():以某個字母結尾,True or False

8.0 startwith():以某個字母開始,True or False

a = "123"
b = "abc"
c = "kkk"

print(b.endswith("c"))
print(c.endswith("c"))

#執行結果:
True
False

9.0 expandtabs(tabsize = ):加空格

10.find(str,beg=,end=len(string)):檢測 str 是否包含在字符串中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1

11 format():格式化輸出的另一種方式

c = "kkk {a} is {age}"

print(c.format(a="rollo",age = 35))

#執行結果:

kkk rollo is 35
print("{} {}".format("hello", "world"))  # 不設置指定位置,按默認順序
print("{0} {1}".format("hello", "world"))  # 設置指定位置
print("{1} {0} {1}".format("hello", "world") ) # 設置指定位置

#執行結果:

hello world
hello world
world hello world

12 format_map():與format一樣,賦值用字典

c = "kkk {a} is {age}"

print(c.format_map({"a":"rollo","age":36}))

#執行結果:
kkk rollo is 36

13 index():與find()一樣,如果沒有值報錯,find()返回-1

14 str.isalnum():數字與字母組成的,True or False

15 str.isdecimal():判斷是否十進制的

16 str.isnumeric()與str.isdigit一樣的

17 str.isidentifier() 判斷是否非法變量

18 str.islower() 判斷是否全小寫

19 str.isupper()判斷是否全大寫

20 str.isspace()判斷是否空格

21 str.istitle()判斷是否標題格式,首字母大寫

22 str.lower() 所有大寫變成小寫

23 str.upper()所有小寫變成大寫

24 str.swapcase() 反轉,大寫變小寫,小寫變大寫

25 str.ljust() 向左補充***

26 str.rjust()向右補充***

27 str.strip() 去掉開頭,結尾 所有的換行符去掉。

28 str.lstrip()去左

29 str.rstrip()去右

30.str.replace(old,new,max):把 將字符串中的 old 替換成 new,如果 max 指定,則替換不超過 max 次。

31 str.rfind()從右開始,找到相同字符的絕對索引

32 str.split():分割字符串,分成一個列表,用join

c = "kkk oky lik"

print(c.split("k"))

#執行結果:
[‘‘, ‘‘, ‘‘,  o, y li, ‘‘]

33 str.rsplit(i,max):從右開始,max是次數

34 str.title():首字母大寫,title格式

方法匯總:

序號    方法及描述
1    
capitalize()
將字符串的第一個字符轉換為大寫

2    
center(width, fillchar)


返回一個指定的寬度 width 居中的字符串,fillchar 為填充的字符,默認為空格。
3    
count(str, beg= 0,end=len(string))


返回 str 在 string 裏面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數
4    
bytes.decode(encoding="utf-8", errors="strict")


Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象可以由 str.encode() 來編碼返回。
5    
encode(encoding=UTF-8,errors=strict)


以 encoding 指定的編碼格式編碼字符串,如果出錯默認報一個ValueError 的異常,除非 errors 指定的是ignore或者replace
6    
endswith(suffix, beg=0, end=len(string))
檢查字符串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.

7    
expandtabs(tabsize=8)


把字符串 string 中的 tab 符號轉為空格,tab 符號默認的空格數是 88    
find(str, beg=0, end=len(string))


檢測 str 是否包含在字符串中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1
9    
index(str, beg=0, end=len(string))


跟find()方法一樣,只不過如果str不在字符串中會報一個異常.
10    
isalnum()


如果字符串至少有一個字符並且所有字符都是字母或數字則返 回 True,否則返回 False
11    
isalpha()


如果字符串至少有一個字符並且所有字符都是字母則返回 True, 否則返回 False
12    
isdigit()


如果字符串只包含數字則返回 True 否則返回 False..
13    
islower()


如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 False
14    
isnumeric()


如果字符串中只包含數字字符,則返回 True,否則返回 False
15    
isspace()


如果字符串中只包含空白,則返回 True,否則返回 False.
16    
istitle()


如果字符串是標題化的(見 title())則返回 True,否則返回 False
17    
isupper()


如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False
18    
join(seq)


以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合並為一個新的字符串
19    
len(string)


返回字符串長度
20    
ljust(width[, fillchar])


返回一個原字符串左對齊,並使用 fillchar 填充至長度 width 的新字符串,fillchar 默認為空格。
21    
lower()


轉換字符串中所有大寫字符為小寫.
22    
lstrip()


截掉字符串左邊的空格或指定字符。
23    
maketrans()


創建字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標。
24    
max(str)


返回字符串 str 中最大的字母。
25    
min(str)


返回字符串 str 中最小的字母。
26    
replace(old, new [, max])


把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。
27    
rfind(str, beg=0,end=len(string))


類似於 find()函數,不過是從右邊開始查找.
28    
rindex( str, beg=0, end=len(string))


類似於 index(),不過是從右邊開始.
29    
rjust(width,[, fillchar])


返回一個原字符串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字符串
30    
rstrip()


刪除字符串字符串末尾的空格.
31    
split(str="", num=string.count(str))


num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num+1 個子字符串
32    
splitlines([keepends])


按照行(\r, \r\n, \n)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
33    
startswith(substr, beg=0,end=len(string))


檢查字符串是否是以指定子字符串 substr 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。
34    
strip([chars])


在字符串上執行 lstrip()和 rstrip()
35    
swapcase()


將字符串中大寫轉換為小寫,小寫轉換為大寫
36    
title()


返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())
37    
translate(table, deletechars="")


根據 str 給出的表(包含 256 個字符)轉換 string 的字符, 要過濾掉的字符放到 deletechars 參數中
38    
upper()


轉換字符串中的小寫字母為大寫
39    
zfill (width)


返回長度為 width 的字符串,原字符串右對齊,前面填充0
40    
isdecimal()


檢查字符串是否只包含十進制字符,如果是返回 true,否則返回 false。

【Rollo的Python之路】Python:字符串內置函數