1. 程式人生 > >Python筆記:字串常用方法大全,手慢無(收藏專用)

Python筆記:字串常用方法大全,手慢無(收藏專用)

文章目錄

字串大小寫轉換

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

在這裡插入圖片描述