Python3中的字符串相關操做

Python3的字符串操做相關函數詳解

字符串內建函數

1. capitalize()python

將字符串中的第一個字符轉換成大寫,其餘字母變成小寫.例:git

>>> "hello World".capitalize()
'Hello world'

 

2. center(width [,fillchar])api

該函數返回一串字符串.width指定該字符串的寬度,中間是原字符串,兩邊用指定字符填充.fillchar爲可選參數,默認空格做爲填充字符.例:函數

>>> "Hello World".center(40, '*')
'**************Hello World***************'

 

3. count( str [,beg] [,end] )編碼

返回str在字符串裏出現的次數,可選參數beg是開始的位置, end是結束的位置.例:spa

>>> "Hello World".count('o')
2翻譯

 

4. encode( [encoding] [,errors])code

對字符串進行編碼,返回一個byte對象orm

能夠指定encoding編碼格式,也能夠指定對編碼錯誤所進行的操縱.errors值默認 'strict',意爲編碼錯誤的話會引發一個unicode編碼異常.例:對象

>>> "Hello World".encode('utf-8', 'strict')
b'Hello World'

說完編碼再說說解碼,解碼是byte對象中的函數,即 decode([encoding] [,errors]).參數跟encode同樣.例:

>>> b'Hello World'.decode('utf-8')
'Hello World'

 

5. endswith(suffix [,beg] [,end])

檢測字符串是否以特定後綴(suffix參數)結尾,可選檢測字符串開始和結束的位置.例:

>>> "hello.jpg".endswith('.jpg')
True

 

6. expandtabs([tabsize])

設定tabsize的大小(默認爲8),用空格數代替tab符號'\t'.例:

>>> "Hello\tWorld".expandtabs(8)
'Hello   World'

這裏tab大小爲8,'Hello'字符站了5個,\t就轉換成了3個空格.

 

7. find(str, [,beg], [end])

檢測str是否在字符串內,在就返回該字符串的位置,不然返回-1.例:

>>> "Hello World".find('ld')
9

 

8. index(str [,beg] [,end])

跟find同樣,對指定字符串進行索引,不過沒有找到對應字符串會報錯.例:

>>> "Hello World".index('ld')
9

 

9. isalnum()

判斷該字符串是否全是字符與數字組合,若是是,返回True,不然返回False.例如:

>>> "HelloWorld33".isalnum()
True

注意:若是包含空格或其餘特殊符號,轉義字符等,結果都爲False.

 

10. isalpha()

判斷字符串是否全是字符組合(包括漢字), 若是是,返回True, 不然返回False.例如:

>>> "HelloWorld".isalpha()
True

 

11. isdigit()

判斷字符串是否只包含數字, 並返回True或False.例如:

>>> '23'.isdigit()
True

 

12. islower()

判斷字符串中的英文字符是否都爲小寫字符並返回布爾值.例:

>>> "hello world".islower()
True

 

13. isnumeric()

判斷字符串是否只包含數字字符並返回布爾值,數字能夠是羅馬數字,漢字數字,Unicode數字等, 例:

>>> "一二三".isnumeric()
True

14. isspace()

判斷字符串是否只包含空白並返回布爾值.例:

>>> "\t\n".isspace()
True

'\t' 表示一個tab的空白, '\n' 表示換行.這個字符串仍然是空白的

 

15. istitle()

判斷字符串是不是標題,即字符串開頭與每一個空白後的第一個字符是大寫狀態.例:

>>> "Hello   World".istitle()
True

 

16. isupper()

判斷字符串中的英文字符是否都是大寫並返回布爾值.例:

>>> "HELLO WORLD".isupper()
True

 

17. join(seq)

以該字符串做爲分隔符將seq分隔組成一個新的字符串並返回.例:

>>> " abcd ".join("HELLO")
'H abcd E abcd L abcd L abcd O'

 

18. ljust(width [,fillchar])

指定該字符串的寬度,並左對齊,右邊用指定字符填充,默認空格.例:

>>> "Hello World".ljust(50, '*')
'Hello World***************************************'

 

19. lower()

將字符串中的字符都轉換成小寫.例:

>>> "Hello World".lower()
'hello world'

 

20. lstrip([str])

去掉字符串左邊的空格或指定字符, 例:

>>> "     Hello World".lstrip()
'Hello World'

 

21. replace( old, new [, max])

將字符串中old替換成new, 而且能夠指定替換最大次數.例:

>>> "Hello World".replace('l', '3', 2)
'He33o World'

 

22. rfind(str [,beg] [,end])

跟find同樣,返回指定字符的索引, 不過是從右邊向左開始找的. 例:

>>> "Hello World".rfind('o')
7

 

23. rindex(str [,beg] [,end])

同index,不過是從右向左查找索引,未找到會拋出異常.例:

>>> "Hello World".rindex('or')
7

 

24. rjust(width [,fillchar])

返回一個指定寬度,原字符串右對齊,左邊用空格或指定字符填充的新字符串. 例:

>>> "Hello World".rjust(40, '*')
'*****************************Hello World'

 

25. rstrip()

刪除字符串末尾的空格或指定字符. 例:

>>> "Hello World5555555".rstrip('5')
'Hello World'

 

26. split(str [, num])

以指定str字符爲分隔符, 可指定最多分隔num次. 並返回一個list. 例:

>>> "Hello World".split('l', 2)
['He', '', 'o World']

 

27. splitlines( [keepends])

按 '\r', '\n' 來分隔字符串並返回一個list列表.keepend的值爲True或False, 表示是否將 '\n'做爲分隔符

>>> 'Hello \r World \n Hello World'.splitlines()
['Hello ', ' World ', ' Hello World']

 

28.  startswith(substr [,beg] [,end])

檢測字符串是否以substr開頭, 並返回一個布爾值. 例:

>>> "Hello World".startswith('H')
True

 

29. strip([chars])

在字符串上同時執行了lstrip()跟rstrip(), 刪除字符串開頭或結尾指定的字符.例:

>>> "hahahahaHello Worldhahahaha".strip('ha')
'Hello World'

 

30. swapcase()

將該字符串的大小轉換成小寫, 小寫轉化成大寫. 例:

>>> "Hello World".swapcase()
'hELLO wORLD'

 

31. title()

將該字符串標題化並返回, 就是字符串開頭與每一個空白後的第一個字符轉換成大寫, 其他字符轉換成小寫. 例:

>>> "helLo, worLD".title()
'Hello, World'

 

32. translate(table [, delechars])

使用映射表翻譯該字符串, 要過濾掉的字符放在delechar裏 如何建立映射表呢?

str.maketrans(intab, outtab)

建立一個字符映射表, 至關於字典翻譯同樣,第一個參數是要替換組成的字符串, 第二個參數是相應的映射字符串.例如

>>> intab, outtab = "abced", "12345"
>>> 'Hello World'.translate(str.maketrans(intab, outtab))
'H4llo Worl5'

注意:intab跟outtab的參數長度要一致,否則會報錯

 

33. upper()

轉換字符串中的小寫字母爲大寫. 例:

>>> "Hello World".upper()
'HELLO WORLD'

 

34.zfill(width)

返回一個指定長度的字符串, 原字符串右對齊, 左邊以0填充. 例:

>>> "Hello World".zfill(40)
'00000000000000000000000000000Hello World'

 

35. isdecimal()

判斷字符串是否只包含十進制字符並返回布爾值. 例:

>>> "2333".isdecimal()
True

該方法僅用於unicode對象

 

 

Python內置相關可用函數

1. len(str)

該函數可用於計算字符串的長度. 例:

>>> len("Hello World")
11

 

2. min(str)

返回字符串中最小的字符.例:

>>> min("helloworld")
'd'

 

3. max(str)

返回字符串中最大的字符, 例:

>>> max("helloworld")
'w'

 

字符串格式化的幾種方式

上面找不到format,這裏專門放最後說一下格式化的幾種方式.

1. %

這種方法是從c語言帶過來的,用%d,%s,%f 等特殊字符進行格式化, 例:

>>> "%d + %d = %d" % (2, 3, 2+3)
'2 + 3 = 5'

2. format(*args)

format也是字符串的內建函數, 可是不能單獨使用,須要在字符串內加 '{}',才能進行格式化替換.而且"{}"內可指定格式化的序號.例:

>>> "{}, {}".format('Hello', 'World')
'Hello, World'
>>> "{1}, {0}".format('Hello', 'World')
'World, Hello'

3. fstring

爲了更加簡便, python在3.6版本引進了fstring.

在字符串前面加上一個f,並在字符串內加入"{var_name}"就能完成格式化. var_name表示變量名.例:

>>> a, b = 10, 20
>>> f"{a} * {b} = {a*b}"
'10 * 20 = 200'
相關文章
相關標籤/搜索