文章目錄 字符串是Python中最常用的數據類型。我們可以使用引號(
'
或
"
)來創建字符串。
字符串格式化相關內容參見《 Python3輸入輸出與字符串格式化》
字符串 Python不支持單字符類型,單字符也是作為一個字符串使用。
三引號可以可創建復雜字符串:
允許字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符; 常用三引號做多行注釋與函數注釋; 三引號為三個單引號或者雙引號,裡面的內容原樣輸出。 判空 判斷字符串是否為空(s為None或空串``):if not s:
或通過len(s)
獲取字符串長度,判斷是否為0(此時要保證s不為None ,s)。
注 :python中會把None、False、0、空串"", 空列表[], 空字典{}, 空元組()
作為假
切片 訪問子字符串,可使用方括號[]
來截取切片,字符串的截取的語法格式如下(a設為"Runoob"):
a[1:] <=> a[-5:]
= ‘unoob’a[:1] <=> a[:-5]
= ‘R’運算符 以下表格中為常用的運算符(a設為"Hello",b設為"Python")
操作符 描述 實例 +字符串連接
a + b
輸出: HelloPython*重復輸出字符串
a*2
輸出:HelloHello[]索引獲取字符
a[1]
輸出:e[start:stop]截取字符串中的一部分(
[start,stop)
)
a[1:4]
結果: ellin成員運算符 - 如果字符串中包含給定的字符返回 True‘H’ in a 輸出結果 Truenot in成員運算符 - 如果字符串中不包含給定的字符返回 True‘M’ not in a 輸出結果 Truer/R原始字符串 - 所有的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。print( r’\n’ )
print( R’\n’ )
內建函數 字符串可編碼為字節數組:s.encode(encoding='UTF-8', errors='strict')
;在需要時使用bytes.decode()來解碼為字符串。
通過s.expandtabs(tabsize=8)
,可把字符串中的tab轉換為空格。
判斷內容 判斷字符串中字符內容分類:
方法 描述 isalnum()所有字符都是字母或數字,則返回 Trueisalpha()所有字符都是字母,則返回 Trueisdecimal()所有字符都是十進制數,則返回 Trueisdigit()所有字符都是數字,則返回 Trueisidentifier()如果字符串是標識符,則返回 Trueislower()所有字符都是小寫,則返回 Trueisnumeric()所有字符都是數,則返回 Trueisprintable()所有字符都是可打印的,則返回 Trueisspace()所有字符都是空白字符,則返回 Trueistitle()如果字符串遵循標題規則,則返回 Trueisupper()所有字符都是大寫,則返回 True
查找替換 a in b
判斷b是否包含a(in實際使用的是對象內的__contains__
方法)
查找是否包含指定的文本內容:
方法 描述 count(s, beg=0,end=len(str))返回s在字符串中出現的次數startswith(s)如果以s開頭,則返回 trueendswith(s, beg=0,end=len(str))如果字符串以s結尾,則返回 truefind(s, beg=0,end=len(str))返回字符串中s開始的索引值,若未找到返回-1index(s, beg=0,end=len(str))與find類似,但為找到拋出異常replace(old, new[,max])將字符串中的 old 替換成 new,如果 max 指定,則替換不超過 max 次rfind()與find類似,但返回最後一個匹配rindex()與index類似,但返回最後一個匹配max(s)返回s中最大的字符min(s)返回s中最小的字符
大小寫 大小寫轉換
方法 描述 capitalize()把字符串的第一個字符轉換為大寫title()把每個單詞的首字符轉換為大寫lower()把字符串轉換為小寫upper()把字符串轉換為大寫swapcase()切換大小寫casefold()把字符串轉換為小寫與lower相比可轉換除ASCII外的其他語言(如德語等)
文本對齊 對齊字符串文本:
方法 描述 center(width[,fillchar])返回居中的字符串(兩邊用fillchar填充,默認空格)ljust(width[,fillchar])返回字符串的左對齊版本rjust(width[,fillchar])返回字符串的右對齊版本zfill(width)返回長度為width字符串(頭部填充0)
首尾截取 移除空白或指定字符
方法 描述 lstrip()截掉字符串左邊的空格或指定字符rstrip()刪除尾部空格(或指定字符)strip()頭尾同時刪除
拆分連接 常用內建函數如下:
方法 描述 s.join(seq)以s為分隔符,把seq串聯成一個字符串rsplit()從尾部開始分割(未指定max是與split相同)split(str=“”,num=string.count(str))以str為分隔符拆分字符串,若指定num則最多返回num+1個子串splitlines([keepends])按行拆分字符串並返回列表(若keepends為False,則子串不包括換行符;否則包括)
映射表maketrans Python3.4+,使用內建函數 bytearray.maketrans()、bytes.maketrans()、str.maketrans()來創建映射表。
str.maketrans(x[, y[, z]) 返回一個可供 str.translate() 使用的轉換對照表
x:必需,字符串中要替代的字符組成的字符串 y:可選,相應的映射字符的字符串 z:可選,要刪除的字符 分割partition s.partition(sub)
方法用來根據指定的分隔符將字符串進行分割:搜索字符串sub,並返回包含三個元素的元組:
第一個匹配sub之前的所有內容 搜索字符串sub 第一個匹配sub之後的所有內容 rpartition() 方法類似於 partition() 方法,只是該方法是從目標字符串的尾部開始搜索分割符:
最後一個匹配sub之前的所有內容 搜索字符串sub 最後一個匹配sub之後的所有內容