Python筆記:字串常用方法大全,手慢無(收藏專用)
阿新 • • 發佈:2019-01-01
文章目錄
字串大小寫轉換
str.capitalize() # 將首字母轉換成大寫,需要注意的是如果首字沒有大寫形式,則返回原字串。 str.lower() # 將字串轉換成小寫,其僅對 ASCII 編碼的字母有效。 str.casefold() # 將字串轉換成小寫,Unicode 編碼中凡是有對應的小寫形式的,都會轉換。 str.swapcase() # 對字串字母的大小寫進行反轉。 str.title() # 將字串中每個“單詞”首字母大寫。其判斷“單詞”的依據則是基於空格和標點 str.upper() # 將字串所有字母變為大寫,會自動忽略不可轉成大寫的字元
字串格式輸出
str.center(width[, fillchar]) # 將字串按照給定的寬度居中顯示,可以給定特定的字元填充多餘的長度,如果指定的長度小於字串長度,則返回原字串。 str.ljust(width[, fillchar]); str.rjust(width[, fillchar]) # 返回指定長度的字串,字串內容居左(右)如果長度小於字串長度,則返回原始字串,預設填充為 ASCII 空格,可指定填充的字串。 str.zfill(width) # 用 '0' 填充字串,並返回指定寬度的字串。 str.expandtabs(tabsize=8) # 用指定的空格替代橫向製表符,使得相鄰字串之間的間距保持在指定的空格數以內。 str.format(^args, ^^kwargs) # 格式化,已講過 str.format_map(mapping) # 類似 str.format(*args, **kwargs) ,不同的是 mapping 是一個字典物件
字串搜尋定位與替換
str.count(sub[, start[, end]]) # 計算字串的個數,start,開始位置。end結束位置 str.find(sub[, start[, end]]); str.rfind(sub[, start[, end]]) # 搜尋字串 str.index(sub[, start[, end]]); str.rindex(sub[, start[, end]]) # 檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,該方法與 python find()方法一樣,只不過如果str不在 string中會報一個異常。 str.replace(old, new[, count]) # 替換 str.lstrip([chars]); str.rstrip([chars]); str.strip([chars]) # 用於截掉字串左邊的空格或指定字元 str.maketrans(intab, outtab) # 用於建立字元對映的轉換表,對於接受兩個引數的最簡單的呼叫方式,第一個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標。
字串的聯合與分割
str.join(iterable) # 用指定的字串,連線元素為字串的可迭代物件。
str.partition(sep); str.rpartition(sep) # 根據指定的分隔符將字串進行分割,如果字串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。
str.split(sep=None, maxsplit=-1); str.rsplit(sep=None, maxsplit=-1) # 過指定分隔符對字串進行切片,如果引數 num 有指定值,則僅分隔 num 個子字串
str.splitlines([keepends]) # 照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表
字串條件判斷
str.endswith(suffix[, start[, end]]); str.startswith(prefix[, start[, end]]) # 用於判斷字串是否以指定字尾結尾,如果以指定字尾結尾返回True,否則返回False。可選引數"start"與"end"為檢索字串的開始與結束位置。
str.isalnum() # 檢測字串是否由字母和數字組成。
str.isalpha() # 檢測字串是否只由字母組成。
str.isdecimal() # 檢查字串是否只包含十進位制字元
str.isdigit() # 檢測字串是否只由數字組成。
str.isnumeric() #檢測字串是否只由數字組成。這種方法是隻針對unicode物件。
str.isidentifier() # 判斷字串是否是有效的Python 識別符號
str.islower() # 檢測字串是否由小寫字母組成
str.isspace() # 檢測字串是否只由空格組成。
str.istitle() # 檢測字串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫
str.isupper() # 檢測字串中所有的字母是否都為大寫
字串編碼
str.encode(encoding="utf-8", errors="strict")
字串切片大全
+ 字串連線操作
[] 字串索引操作,通過索引訪問指定位置的字元,索引從0開始
[::] 字串取片操作
完整格式:[開始索引:結束索引:間隔值]
[:結束索引] 從開頭擷取到結束索引之前
[開始索引:] 從開始索引擷取到字串的最後
[開始索引:結束索引] 從開始索引擷取到結束索引之前
[:] 擷取所有字串
[開始索引:結束索引:間隔值] 從開始索引擷取到結束索引之前按照指定的間隔擷取字元
r'字串' 元字串,所有字串中的轉義字元不會轉義,當作普通字元
‘’’
實戰示例
一、字串大小寫轉換
test = 'i am hezhibing From shanGhai, 在一個雲端計算公司工作'
print(test.capitalize()) # 首字母大寫
print(test.lower()) # 全部小寫-> ASCII
print(test.casefold()) # 全部小寫-> Unicode
print(test.swapcase()) # 對字串字母的大小寫進行反轉。
print(test.title()) # 將字串中每個“單詞”首字母大寫。其判斷“單詞”的依據則是基於空格和標點
print(test.upper()) # 全部大寫
二、字串輸出
test = 'i am hezhibing From shanGhai{}, 在一個雲端計算公司工作'
print(test.center(50)) # 指定寬度居中
print(test.ljust(60)) # 居左
print(test.zfill(50)) # 指定寬度填0
print(test.expandtabs()) # 用指定的空格替代橫向製表符,使得相鄰字串之間的間距保持在指定的空格數以內。
print(test.format('網際網路人士')) #格式化輸出
三、字串搜尋定位與替換
print(test.count('n')) # 查詢指定字元的數量
print(test.find('n')) # 定位指定字元
print(test.index('n')) # 與 find() rfind() 類似,不同的是如果找不到,就會引發 ValueError。
print(test.replace('i', 'I')) # 替換指定字元
print(test.lstrip('i')) # 用於截掉字串左邊的空格或指定字元
print(test.maketrans('i', 'I')) # 用於建立字元對映的轉換表,對於接受兩個引數的最簡單的呼叫方式,第一個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標
四、字串的聯合與分割
test = 'i am hezhibing From shanGhai'
test1 = '在一個雲端計算公司工作'
print('---'.join([test, test1])) # 用指定的字串,連線元素為字串的可迭代物件。即拼接字串,字串以列表形式
print(test.partition('am')) # 根據指定的分隔符將字串進行分割,如果字串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。
print(test.split(' ', 2)) # 用指定分隔符對字串進行切片,如果引數 num 有指定值,則僅分隔 num 個子字串
print(test.splitlines()) # 字串以行界符為分隔符拆分為列表;當 keepends 為True,拆分後保留行界符
五、字串條件判斷
test = 'i am hezhibing From shanGhai, 在一個雲端計算公司工作'
print(test.endswith('工作')) # 用於判斷字串是否以指定字尾結尾,如果以指定字尾結尾返回True,否則返回False。可選引數"start"與"end"為檢索字串的開始與結束位置。
print(test.isalnum()) # 檢測字串是否由字母和數字組成
print(test.isalpha()) # 檢測字串是否只由字母組成
print(test.isdecimal()) # 檢查字串是否只包含十進位制字元
print(test.isdigit()) # 檢測字串是否只由數字組成。
print(test.isnumeric()) # 檢測字串是否只由數字組成。這種方法是隻針對unicode物件
print(test.isidentifier()) # 判斷字串是否是有效的Python識別符號
print(test.islower()) # 檢測字串是否由小寫字母組成
print(test.isspace()) # 檢測字串是否只由空格組成
print(test.title()) # 檢測字串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫
print(test.upper()) # 檢測字串中所有的字母是否都為大寫
六、字串切片及拼接
test = 'i am hezhibing From shanGhai'
test1 = '在一個雲端計算公司工作'
test2 = ''
print(test + test1) # 字串拼接直接 " + "
print(test[:3]) # 完整格式:[開始索引:結束索引:間隔值]
print(test[3:])
完結(感謝支援)
歡迎留言補充,
github地址:https://github.com/Haley123/python-demo/blob/master/python基礎/string_base.py