總結:44個Python3字串內建方法大全及示例
概述
Python中字串是作為一種強大的處理工具集的存在,而不是類C中使用的那麼難受。因為Python提供了一系列字串操作的方法,從大小寫轉換、切片操作到查詢等等應有盡有,幾乎滿足日常的使用場景,當然如果滿足不了需求還可以得助於更加強大的第三方庫比如string
,re
等。下面就介紹了Python3中44個字串內建方法的基本概述及簡單示例。
44個字串內建方法概述
方法 | 描述 |
---|---|
capitalize | 返回S的大寫版本,即建立第一個字元,為大寫字母,其他為小寫字母 |
casefold | 返回全小寫 |
center | 使字串產生居中效果,預設填充為空格,也可指定填充單個字元 |
count | 返回子字串sub的非重疊出現次數, string S [start:end]。 可選引數start和end為切片表示法。即在切片範圍內統計指定字串的出現次數,如果不指定即在整個字串內統計指定字串出現次數 |
encode | 字串編碼轉換,預設為encoding='utf-8'
|
endswith | 測試字串結尾是否為指定字串,也可指定字串結尾 |
expandtabs | 將字串中的tab製表符轉換為空格,一個字表符預設為8個空格 |
find | 在字串中查詢指定字元,找到則返回最小的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍 |
format | 字串格式化的一種方法,將需要格式化的地方填充{}
|
format_map | 字串格式化的一種方法,接收的引數為字典,透過對映的方式格式化 |
index | 尋找字串中出現指定的第一個索引 |
isalnum | 字串中是否全部為數字字元,並至少有一個字元,若是則返回Ttue,否則返回False |
isalpha | 字串中是否全部為英文字母,並至少有一個字元,若是則返回True,否則返回False |
isdecimal | 判斷字串是否只有十進位制字元,若是則返回True,否則返回False |
isdigit | 判斷字串中是否全部為數字,並至少有一個字元,若是則返回True,否則返回False |
isidentifier | 判斷字串是否為有效定義 |
islower | 判斷字串是否全部為小寫字元,若是則返回True,否則返回False |
isnumeric | 判斷字串中是否全部為數字,若是則返回True,否則返回False |
isprintable | 判斷字串中所有字元是否都是可列印字元(in repr())或字串為空。 |
isspace | 判斷字串是否全部為空格,若是則返回True,否則返回False |
istitle | 判斷字串是否為一個標題字串,即每個單詞首寫字母都為大寫,若是則返回True,否則返回False |
isupper | 判斷字串中是否全部為大寫字元,若是則返回True,否則返回False |
join | 將序列中的元素以指定的字元拼接成新的字串 |
ljust | 使字串左對齊,當len(s)<width時,多餘的字元預設為空,也可以指定填充單個字元 |
lower | 將字串全部轉為小寫字元 |
lstrip | 刪除字串最前面的空格,回車,製表符等 |
maketrans | 返回一個用translate的轉換表,示例中ste 與abc 為對映關係,每個字元相對應(s->a,t->b,e->c),outtab 用於替換intab 出現在需要處理的字串中,第三個引數為需要刪除的字元 |
partition | 搜尋指定分隔符,並返回第一個分隔符之前的部分,第一個分隔符本身,和第一個分隔符之後的部分 |
replace | 字串替換,replace(self, old, new, count=None) ,接受引數依次是需要替換的字串,替換後的字串,和可選引數替換次數,預設為全部替換 |
rfind | 在字串中查詢指定字元,找到則返回最大的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍 |
rindex | 在字串中查詢指定字元,找到則返回最大的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍 |
rjust | 使字串右對齊,當len(s)<width時,多餘的字元預設為空,也可以指定填充單個字元 |
rpartition | 搜尋指定分隔符,並返回最後一個分隔符之前的部分,最後一個分隔符本身,和最後一個分隔符之後的部分 |
rsplit | 從右向左尋找,以某個元素為中心將左右分割成兩個元素並放入列表中,maxsplit引數預設為-1,表示根據指定分割字元全部分割,maxsplit=1 即根據指定分割字元僅分割一次,使用效果和rpartition類似 |
rstrip | 刪除字串最後面的空格,回車,製表符等 |
split | 從左向右尋找,以某個元素為中心將左右分割成兩個元素並放入列表中,maxsplit引數預設為-1,表示根據指定分割字元全部分割,maxsplit=1 即根據指定分割字元僅分割一次,使用效果和partition類似 |
splitlines | 以換行符(’r’, ‘rn’, n’)分割為列表,引數keepends 預設False,不包含換行符,如果為True,則保留換行符 |
startswith | 判斷字串開頭是否為指定字串,若是則返回True,否則返回False |
strip | 刪除字串左右兩邊的空格,回車,製表符等 |
swapcase | 將字串中大小寫字元翻轉為小大寫字元 |
title | 將字串轉為標題字串,即每個單詞首字母大寫 |
translate | 根據引數table給出的表(包含 256 個字元)轉換字串的字元, 要過濾掉的字元放到 del 引數中。table表是透過maketrans方法轉換而來 |
upper | 將字串全部轉為小寫字元 |
zfill | 當len(s)<width時,從左邊開始用0填充 |
44種方法使用示例
# 示例
s = 'str_test'
print('s.capitalize'.center(40, '-'))
# 返回S的大寫版本,即建立第一個字元,為大寫字母,其他為小寫字母
s_capitalize = s.capitalize()
print(s_capitalize)
print('s.casefold'.center(40, '-'))
# 返回全小寫
s_casefold = s.casefold()
print(s_casefold)
print('s.center'.center(40, '-'))
# 使字串產生居中效果,預設填充為空格,也可指定填充單個字元
s_center = s.center(20, '-')
print(s_center)
print('s.count'.center(40, '-'))
# 返回子字串sub的非重疊出現次數, string S [start:end]。 可選引數start和end為切片表示法。即在切片範圍內統計指定字串的出現次數,如果不指定即在整個字串內統計指定字串出現次數
s_count = s.count('es', 0, 7)
print(s_count)
print('s.encode'.center(40, '-'))
# 字串編碼轉換,預設為`encoding='utf-8'`
s_encode = s.encode('utf-8', 'strict')
print(s_encode)
print('s.endswith'.center(40, '-'))
# 測試字串結尾是否為指定字串,也可指定字串結尾
s_endswith = s.endswith('st', 1, 8)
print(s_endswith)
print('s.expandtabs'.center(40, '-'))
# 將字串中的tab製表符轉換為空格,一個字表符預設為8個空格
s_tab = 'sstr'
s_tab_expandtabs = s_tab.expandtabs(tabsize=8)
print(s_tab_expandtabs)
print('s.find'.center(40, '-'))
# 在字串中查詢指定字元,找到則返回最小的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍
s_find = s.find('test', 0, 8)
print(s_find)
print('s.format'.center(40, '-'))
# 字串格式化的一種方法,將需要格式化的地方填充`{}`
s_format = '{} string in python'.format('Powerful')
print(s_format)
print('s.format_map'.center(40, '-'))
# 字串格式化的一種方法,接收的引數為字典,透過對映的方式格式化
a = {'x': 'Powerful'}
s_format_map = '{x} string in python'.format_map(a)
print(s_format_map)
print('s.index'.center(40, '-'))
# 尋找字串中出現指定的第一個索引
s_index = s.index('test')
print(s_index)
print('s.isalnum'.center(40, '-'))
# 字串中是否全部為數字字元,並至少有一個字元,若是則返回Ttue,否則返回False
s_num = '233'
s_num_isalnum = s_num.isalnum()
print(s_num_isalnum)
print('s.isalpha'.center(40, '-'))
# 字串中是否全部為英文字母,並至少有一個字元,若是則返回True,否則返回False
s_alpha = 'will'
s_alpha_isalpha = s_alpha.isalpha()
print(s_alpha_isalpha)
print('s.isdecimal'.center(40, '-'))
# 判斷字串是否只有十進位制字元,若是則返回True,否則返回False
s_deci = '333'
s_deci_isdecimal = s_deci.isdecimal()
print(s_deci_isdecimal)
print('s.isdigit'.center(40, '-'))
# 判斷字串中是否全部為數字,並至少有一個字元,若是則返回True,否則返回False
s_digi = '123456'
s_digi_isdigit = s_digi.isdigit()
print(s_digi_isdigit)
print('s.isidentifier'.center(40, '-'))
# 判斷字串是否為有效定義
s_iden = ''
s_iden_isidentifier = s_iden.isidentifier()
print(s_iden_isidentifier)
print('s.islower'.center(40, '-'))
# 判斷字串是否全部為小寫字元,若是則返回True,否則返回False
s_islower = s.islower()
print(s_islower)
print('s.isnumeric'.center(40, '-'))
# 判斷字串中是否全部為數字,若是則返回True,否則返回False
s_nume = '123456'
s_nume_isnumeric = s_nume.isnumeric()
print(s_nume)
print('s.isprintable'.center(40, '-'))
# 判斷字串中所有字元是否都是可列印字元(in repr())或字串為空。
s_prin = ''
s_prin_isprintable = s_prin.isprintable()
print(s_prin_isprintable)
print('s.isspace'.center(40, '-'))
# 判斷字串是否全部為空格,若是則返回True,否則返回False
s_spac = ' '
s_spac_isspace = s_spac.isspace()
print(s_spac_isspace)
print('s.istitle'.center(40, '-'))
# 判斷字串是否為一個標題字串,即每個單詞首寫字母都為大寫,若是則返回True,否則返回False
s_titl = 'String In Python.'
s_titl_istitle = s_titl.istitle()
print(s_titl_istitle)
print('s.isupper'.center(40, '-'))
# 判斷字串中是否全部為大寫字元,若是則返回True,否則返回False
s_uppe = 'STR_TEST'
s_uppe_isupper = s_uppe.isupper()
print(s_uppe_isupper)
print('s.join'.center(40, '-'))
# 將序列中的元素以指定的字元拼接成新的字串
strs = ['Powerful', 'strng', 'in', 'python']
strs_join = ' '.join(strs) # 指定' '空格拼接列表中的元素
print(strs_join)
print('s.ljust'.center(40, '-'))
# 使字串左對齊,當len(s)<width時,多餘的字元預設為空,也可以指定填充單個字元
s_ljust = s.ljust(10, '*')
print(s_ljust)
print('s.lower'.center(40, '-'))
# 將字串全部轉為小寫字元
s_lowe = 'I Like PYTHON'
s_lowe_lower = s_lowe.lower()
print(s_lowe_lower)
print('s.lstrip'.center(40, '-'))
# 刪除字串最前面的空格,回車,製表符等
s_lstr = ' ntrstr_test'
s_lstr_lstrip = s_lstr.lstrip()
print(s_lstr_lstrip)
print('s.maketrans'.center(40, '-'))
# 返回一個用translate的轉換表,示例中`ste`與`abc`為對映關係,每個字元相對應(s->a,t->b,e->c),`outtab`用於替換`intab`出現在需要處理的字串中,第三個引數為需要刪除的字元
intab = "st"
outtab = "#$"
deltab = '_'
s_maketrans = s.maketrans(intab, outtab, deltab)
print(s_maketrans)
print('s.partition'.center(40, '-'))
# 搜尋指定分隔符,並返回第一個分隔符之前的部分,第一個分隔符本身,和第一個分隔符之後的部分
s_part = 'I like Python'
s_part_partition = s_part.partition(' ')
print(s_part_partition)
print('s.replace'.center(40, '-'))
# 字串替換,`replace(self, old, new, count=None)`,接受引數依次是需要替換的字串,替換後的字串,和可選引數替換次數,預設為全部替換
s_replace = s.replace('t', 'T', 1)
print(s_replace)
print('s.rfind'.center(40, '-'))
# 在字串中查詢指定字元,找到則返回最大的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍
s_rfind = s.rfind('t', 0, 8)
print(s_rfind)
print('s.rindex'.center(40, '-'))
# 在字串中查詢指定字元,找到則返回最大的索引,沒有則返回-1,也可以加上分片指定字串中索引範圍
s_rindex = s.rindex('t', 0, 8)
print(s_rindex)
print('s.rjust'.center(40, '-'))
# 使字串右對齊,當len(s)<width時,多餘的字元預設為空,也可以指定填充單個字元
s_rjust = s.rjust(10, '*')
print(s_rjust)
print('s.rpartition'.center(40, '-'))
# 搜尋指定分隔符,並返回最後一個分隔符之前的部分,最後一個分隔符本身,和最後一個分隔符之後的部分
s_part = 'I like Python'
s_part_rpartition = s_part.rpartition(' ')
print(s_part_rpartition)
print('s.rsplit'.center(40, '-'))
# 從右向左尋找,以某個元素為中心將左右分割成兩個元素並放入列表中,maxsplit引數預設為-1,表示根據指定分割字元全部分割,`maxsplit=1`即根據指定分割字元僅分割一次,使用效果和rpartition類似
s_rspl = 'I like python'
s_rspl_rsplit = s_rspl.rsplit(' ', 1)
print(s_rspl_rsplit)
print('s.rstrip'.center(40, '-'))
# 刪除字串最後面的空格,回車,製表符等
s_rstr = ' str_testntr'
s_rstr_rstrip = s_rstr.rstrip()
print(s_rstr_rstrip)
print('s.split'.center(40, '-'))
# 從左向右尋找,以某個元素為中心將左右分割成兩個元素並放入列表中,maxsplit引數預設為-1,表示根據指定分割字元全部分割,`maxsplit=1`即根據指定分割字元僅分割一次,使用效果和partition類似
s_spli = 'I like python'
s_spli_split = s_spli.split(' ', 1)
print(s_spli_split)
print('s.splitlines'.center(40, '-'))
# 以換行符('r', 'rn', n')為分割列表,引數`keepends`預設False,不包含換行符,如果為True,則保留換行符
s_line = '''It's a nice day.
with beautiful mood.
and you
'''
s_line_splitlines = s_line.splitlines(True)
print(s_line_splitlines)
print('s.startswith'.center(40, '-'))
# 判斷字串開頭是否為指定字串,若是則返回True,否則返回False
s_startswith = s.startswith('str')
print(s_startswith)
print('s.strip'.center(40, '-'))
# 刪除字串左右兩邊的空格,回車,製表符等
s_stri = 'ntrstr_testntr'
s_stri_strip = s_stri.strip()
print(s_stri_strip)
print('s.swapcase'.center(40, '-'))
# 將字串中大小寫字元翻轉為小大寫字元
s_swap = 'STR_test'
s_swap_swapcase = s_swap.swapcase()
print(s_swap_swapcase)
print('s.title'.center(40, '-'))
# 將字串轉為標題字串,即每個單詞首字母大寫
s_titl = 'poerful string in python'
s_titl_title = s_titl.title()
print(s_titl_title)
print('s.translate'.center(40, '-'))
# 根據引數table給出的表(包含 256 個字元)轉換字串的字元, 要過濾掉的字元放到 del 引數中。table表是透過maketrans方法轉換而來
s_translate = s.translate(s_maketrans)
print(s_translate)
print('s.upper'.center(40, '-'))
# 將字串全部轉為小寫字元
s_uppe = 'STR_Test'
s_uppe_upper = s_uppe.upper()
print(s_uppe_upper)
print('s.z_fill'.center(40, '-'))
# 當len(s)<width時,從左邊開始用0填充
s_zfill = s.zfill(10)
print(s_zfill)
示例效果如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2157/viewspace-2822814/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 總結:11個Python3字典內建方法大全及示例Python
- 字串常用內建方法-python3字串Python
- 字串、列表、字典內建方法字串
- Python 字串 String 內建函式大全(1)Python字串函式
- Python 字串 String 內建函式大全(2)Python字串函式
- 內建資料結構-字串資料結構字串
- js字串方法總結JS字串
- 044 內建指令總結
- C語言字串操作總結大全(超詳細)C語言字串
- JavaScript:內建類和方法:字串 / 正則JavaScript字串
- Python:內建資料結構_字串Python資料結構字串
- JavaScript內建物件屬性及方法大全JavaScript物件
- Python字串常用方法總結Python字串
- Web檔案上傳方法總結大全Web
- Python 的內建字串方法(收藏專用)Python字串
- Pyhton內建函式大全函式
- JS切割擷取字串方法總結JS字串
- ES(JavaScript)內建型別及方法JavaScript型別
- while迴圈補充、for迴圈、range關鍵字、內建方法之整型、內建方法之浮點型、內建方法之字串While字串
- 虛擬按鍵的總結及示例: (轉)
- Python3字串方法Python字串
- 課時14:字串:各種奇葩的內建方法字串
- python3內建函式Python函式
- Python 內建函式大全Python函式
- python內建函式大全Python函式
- Oracle SQL 內建函式大全OracleSQL函式
- Python字串加密解密方法總結薦Python字串加密解密
- Oracle多行轉換成字串方法總結Oracle字串
- 字串分組相加方法四之總結字串
- 各種內建函式技巧總結函式
- MySQL檢視及殺掉連結方法大全MySql
- Redis | Redis常用命令及示例總結(API)RedisAPI
- 專題:Python 的內建字串方法(收藏專用)Python字串
- Python內建函式示例Python函式
- 內網穿透的常用方法總結內網穿透
- CDN內容的引用方法總結
- Oracle SQL 內建函式大全(轉)OracleSQL函式
- python 內建函式簡單總結Python函式