1. 程式人生 > >python裡的字串常用內建方法和格式化操作

python裡的字串常用內建方法和格式化操作

字串(str)的一些內建操作方法:
capitalize() 將字串的首個字母變為大寫
casefold() 把全部的大寫全部變為小寫
center(width) 將字串居中, 並用空格填充長度至width的新字串的長度
count(sub[, start[, end]]) 返回sub在字串裡面出現的次數, start和end表示尋找範圍, 可選
encode(encoding='utf-8', errors = 'strict') 以encoding指定的編碼格式對字串進行編碼
endswith(sub[,start[, end]]) 檢查字串是不是一sub子字串結束, 如果是返回True, 否則返回Fals, start和end引數表示範圍, 可選
expandtabs([tabsize=8]) 把字串中的tab符號(\t)轉換為空格, 如果不指定引數, 預設的空格數是tabsize = 8。
find(sub [, start [, end]]) 檢測sub是否包含在字串中, 如果有則返回索引值, 否則返回-1, start和end引數是表示範圍的, 可選
index(sub [,start[,end]] ) 跟find的方法一樣, 不過如果sub不在字串中會產生一個異常
isalnum() 如果字串至少有一個字元並且所有的字元都是字母或者數字就返回True, 否則返回False
isalpha()如果字串中至少有一個字元並且所有的字元都是字母則返回True, 否則返回False
isdecimal() 如果字串只包含十進位制數字則返回True, 否則返回False
isdigit() 如果字串只包含數字返回True, 否則返回False
islower() 如果字串中至少包含一個分割槽大小寫的字元, 並且這些字元都是小寫, 則返回True, 否則返回False
isnumberic() 如果字串中只包含數字字元則返回True, 否則返回False
isspace() 如果字串中只包含空格則返回True, 否則返回False
istitle() 如果字串是標題化(所有的單詞都是以大寫開始, 其餘均為小寫),則返回True,  否則返回False
isupper() 如果字串中至少包含一個區分大小寫的字元, 並且這些字元都是大寫的返回True, 否則返回False
join(sub) 以字串作為分隔符, 插入到sub中所有的字元之間。
ljust(width) 返回一個左對齊的字串, 並且使用空格填充至長度為width的新子字串
lower() 轉換字串中的所有大寫字元為小寫
lstrip() 去掉字串左邊的所有空格
partition(sub) 找到子字串sub, 把字串分成一個3元組(pre_sub, sub, fol_sub), 如果字串中不包含sub則返回('原字串', ' ', ' ')
replace(old, new [, count]) 把字串中的old字串替換成new子字串, 如果count指定, 怎替換不超過count次
rfind(sub [, start[, end]]) 類似於find() 方法, 不過是從右邊開始查詢
rindex(sub [, start [, end]]) 類似於index() 方法, 不過是從右邊開始
rjust(width) 返回一個右對齊的字串, 並且使用空格填充長度為width的新字串
rpartition(sub) 類似於parition() 方法, 不過是從右邊開始查詢
rstrip() 刪除字串末尾的空格
split(sep=None, maxsplit=-1) 不帶引數預設是以空格為分隔符切片字串, 如果maxsplit引數有設定, 則進分割maxsplit個字串, 返回切片後的子字串拼接的列表
splitlines(([keepends])) 按照'\n' 分割, 返回一個包含各行作為元素的列表, 如果keepends引數指定, 則返回前keepends行
startswith(prefix [,start [,end]]) 檢查字串是否以prefix開頭,是則返回’True, 否則返回False, start和end引數是指定範圍檢查, 可選
strip([chars]) 刪除字串前邊和後邊的所有的空格, chars引數可以定製刪除的字元, 可選
swapcase() 翻轉字串中的大小寫
title() 返回標題化(所有的單詞都以大寫開始, 其餘字母均為小寫)的字串
translate(table) 根據table的規則(可以有str.maketrans('a', 'b')定製)轉換字串中的字元
例如:str1.translate(str.marketrans('s', 'b'))即把所有的s轉換成b
upper() 轉換字串中的所有小寫字元為大寫
zfill(width) 返回長度為width的字串,原字串右對齊, 前邊用0填充
字串的格式化(format):
format有位置引數和標號引數
位置引數例子:
"{0} love {1}.{2}".format("I", "fishc", "com")
標號引數的例子:
"{a} love {b}.{c}".format(a="I", b="fishc", c="com")
位置引數和標號引數是可以混合使用的, 但是位置的使用要放在標號的前面
例如:
"{0} love {b}.{c}".format("I", b="fishc", c="com")
字串格式化符號的含義:
%c 格式化字元及其ASCII碼
%s 格式化字串
%d 格式化整數
%o 格式化無符號八進位制數
%x 格式化無符號十六進位制數
%X 格式化無符號十六進位制大寫
%f 格式化頂點數, 可指定小數點後的精度
%e 用科學計數法格式化定點數
%E 作用同%e, 用科學計數法格式化定點數
%g 根據值得大小決定使用%f或%e

%G 作用同%g, 根據值得大小決定使用%f或%e

格式化操作符輔助命令:
m.nm是顯示的最小總寬度(佔位寬度), n是小數點後的位數
-用於左對齊
+在正數前面顯示加號(+)
#在八進位制數前面顯示零('0'), 在十六進位制數前面顯示 '0x'或'0X'
0顯示的數字前面填充'0'取代空格
字串轉義符含義
\' 單引號
\" 雙引號
\a 發出系統響鈴聲 (一般顯示不出來)
\b 退格符
\n 換行符
\t 橫向製表符(TAB)
\v 縱向製表符
\r 回車符
\f 換頁符
\o 八進位制代表的字元
\x 十六進位制代表的字元
\0 表示一個空字元
\\ 反斜槓