1. 程式人生 > >python:字串

python:字串

字串內建函式

1. find()
作用:檢測指定字串是否包含在當前字串中,如果是返回開始的索引值,否則返回-1
格式:字串名.find(‘指定字串’,start,end)
start預設為0,end預設為len(字串名)
rfind():從右側開始查詢
2. index()
和find()函式類似,但是查詢不到指定內容會報錯。
3. count()
作用:查詢指定字串在當前字串中出現的次數
格式:字串名.count(‘指定字串’,start,end)
4. replace()
作用:用指定字串替換當前字串中的指定字串
格式:字串名.replace(‘舊指定字串’,‘新指定字串’,count)
count:替換的次數

a = "i miss the sky when i first meet you"
c = a.replace("i","I",3)
print(c)
# >>>I mIss the sky when I first meet you

5. split()
作用:以指定字元擷取字串
格式:字串名.split(‘指定字串’,count)
count:擷取的次數
返回:列表

a = "i miss the sky when i first meet you"
b = a.split(" ",5)
c = a.split(" ")
print(b)
print(c)
# >>>['i', 'miss', 'the', 'sky', 'when', 'i first meet you']
# >>>['i', 'miss', 'the', 'sky', 'when', 'i', 'first', 'meet', 'you']

6. splitlines()
功能:按照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表,如果引數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
格式:字串名.splitlines([keepends])
返回:列表

a = "i miss\rthe sky\nwhen\r\ni first\nmeet you"
b = a.splitlines(True)
c = a.splitlines()
print(b)
print(c)
#>>>['i miss\r', 'the sky\n', 'when\r\n', 'i first\n', 'meet you']
#>>>['i miss', 'the sky', 'when', 'i first', 'meet you']

7. capitalize()
作用:把字串的首字母大寫
格式:字串名.capitalize(‘指定字串’)
返回:首字母大寫之後的字串
8. title()
作用:把字串的每個單詞首字母大寫
格式:字串名.title(‘指定字串’)
返回:每個單詞首字母大寫之後的字串

a = "it is the best time while i trust myself "
b = a.title()
print(b)
#>>>It Is The Best Time While I Trust Myself

9. startswith()/endswith()
作用:檢查當前字串是否以指定字串開始/結尾
格式:字串名.startswith/endswith(‘指定字串’,start,end)
返回:布林值
10. lower()/upper()
作用:將字串全部小寫/大寫
格式:字串名.lower()/uppper()
返回:調整之後的字串
11. ljust()/rjust()/center()
作用:將字串左對齊/右對齊/居中,並且用指定字元填充至長度為width的新字串。
格式:字串名.ljust()/rjust()/center(width,“指定字元”)
返回:調整之後的字串
注意:指定字元只能為一個字元,且width可以是任意長度,但是隻有當width大於原字串長度才會開始填充。
注意:左對齊時字元從右側填充,右對齊時從左側填充。
12. lstrip()/rstrip/strip()
作用:將字串左/右/兩端的指定字元刪除
格式:字串名.lstrip()/rstrip()/strip(“指定字串”)
返回:調整之後的字串
注意:如果在最開始沒找到指定字串,則不會進行刪除操作。
13. partition()/rpartition()
作用:在字串中搜索分隔符(字串),並返回它之前的部分,它本身以及其後的部分。
如果分隔符未找到,返回字串本身和兩個空字串。
格式:字串名.partition(“分隔符”)
返回:元組

a = " A IT IS THE BEST TIME WHILE I TRUST MYSELF A   "
b = a.partition(" BEST")
print(b)
print(type(b))
# >>>(' A IT IS THE', ' BEST', ' TIME WHILE I TRUST MYSELF A   ')
# >>><class 'tuple'>

14. 檢查字串中字元型別

  1. isalpha():檢查字串是否全是英文字母
  2. isdigit():檢查字串是否全是數字
  3. isspace():檢查字元是否是空元素(空格,\n,\r)
  4. isalnum():檢查字元是否全是由英文字母或者數字組成。
    格式:字串名.isdigit()
    返回:布林值

15.查詢字串中出現次數最多的字元(使用max函式)

str = 'afjkqh213h2krjkfj39rjkgf13'
def chazhao(str):
    return max(str,key=str.count)
print(chazhao(str))
# >>>j		

16.檢查字串是否是數值字串

  • .isnumeric()
  • .isdecimal()

17.檢查字串是否符合title的結果

  • .istitle()

18.將列表內容按照指定字元連線成一個字串
基本格式:字串名.join()
括號裡面的是可以迭代的列表、字串或者集合,其間的每兩個元素之間追加一個指定內容後生成一個新的完整的字串。

str = 'YOU'
list = ['I LOVE ',', BUT I CAN NOT TOUCH ','.']
print(str.join(list))
# >>>I LOVE YOU, BUT I CAN NOT TOUCH YOU.

19.zfill()函式

功能:指定字串的長度,不足的用0補齊,原來的字元部分靠右。
格式:字串名.zfill()
返回:調整之後的字串

20.製作對映表並替換字串中內容

  • 對映表
    功能:製作用於字串替換的對映表
    格式:字串名.maketrans(‘查詢字元’,‘替換字元’)
    返回:字典(一一對應的ASCII碼值)
b = str.maketrans('abcdefg','ABCDEFG')
print(b)

# >>>{97: 65, 98: 66, 99: 67, 100: 68, 101: 69, 102: 70, 103: 71}
  • 字串替換
    功能:按照對映表替換字串
    格式:字串名:translate(對映表)
    返回:替換完成的字串
b = str.maketrans('abcdefg','ABCDEFG')
str = 'i am a little boy , but oneday became the man .'
c = str.translate(b)
print(c)
# >>>i Am A littlE Boy , But onEDAy BECAmE thE mAn .