1此再、聲明一個(gè)字符串
定義:包含在一對(duì)單引號(hào)抑月、雙引號(hào)违崇、三引號(hào)中間的多個(gè)字符
2幼衰、Python轉(zhuǎn)義字符
符號(hào) |
描述 |
\在行尾時(shí) |
續(xù)行符 |
\ 放在其他特定字母前 |
轉(zhuǎn)義字符 |
\t |
橫向制表符 |
\v |
縱向制表符 |
\n |
換行符 |
\r |
回車 |
\f |
換頁(yè) |
3靴跛、Python的字符串內(nèi)建函數(shù)
在python中 dir(str)查看字符串的內(nèi)建函數(shù):去掉了帶有下劃線的
'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',
'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower','isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper',
'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition',
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',
'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase',
'title', 'translate', 'upper', 'zfill'
整理分類:
-
大小寫(xiě)轉(zhuǎn)換:
如:str1 = "abcD"
函數(shù) |
描述 |
結(jié)果 |
str1.capitalize() |
返回 首字母大寫(xiě)的字符串 |
"AbcD" |
str1.upper() |
返回 全部大寫(xiě)的字符串 |
"ASCD" |
str1.lower() |
返回 全部小寫(xiě)的字符串 |
"ascd" |
str1.swapcase |
返回 相反的字符串 |
"ABCd" |
-
判斷大小寫(xiě)
如:str1 = "abcD"
函數(shù) |
描述 |
結(jié)果 |
str1.istitle() |
判斷是否只有首字母大寫(xiě) |
False |
str1.isupper() |
判斷全部字母是否為大寫(xiě) |
False |
str1.islower() |
判斷全部字母是否為小寫(xiě) |
False |
函數(shù) |
描述 |
結(jié)果 |
str2.ljust(4,"$") |
左對(duì)齊,第一個(gè)參數(shù)為字符串填充后的長(zhǎng)度渡嚣,第二個(gè)參數(shù)為填充的內(nèi)容 |
"a$$$$" |
str2.rjust(4,"$") |
右對(duì)齊梢睛,第一個(gè)參數(shù)為字符串填充后的長(zhǎng)度,第二個(gè)參數(shù)為填充的內(nèi)容 |
"$$$$a" |
str2.center(4,"$") |
兩側(cè)對(duì)齊识椰,第一個(gè)參數(shù)為字符串填充后的長(zhǎng)度绝葡,第二個(gè)參數(shù)為填充的內(nèi)容 |
"$$a$$" |
str2.zfill(4) |
將字符串的左側(cè)都填0,參數(shù)為字符串填充后的長(zhǎng)度 |
"00000a" |
-
判斷字符串的組成:
如:str3是一個(gè)字符串
函數(shù) |
描述 |
結(jié)果 |
str3.isalnum() |
字符串是否都是由字母和數(shù)字組成 |
True/False |
str3.isdigit() |
字符串是否都是由數(shù)字組成 |
True/False |
str3.isalpha() |
字符串是否都是由字母組成 |
True/False |
str3.isdecimal() |
如果字符串是否只包含十進(jìn)制字符 |
True/False |
-
字符串的拆分操作:
如:str3 = "my name is jerry"
函數(shù) |
描述 |
結(jié)果 |
str3.split(" ",3) |
通過(guò)指定分隔符" "對(duì)字符串進(jìn)行切片腹鹉,如果參數(shù) num 有指定值藏畅,則僅分隔 num 個(gè)子字符串,這里為3,默認(rèn)全部,從左側(cè)往右側(cè) |
['my', 'name', 'is', 'jerry'] |
str3.rsplit(" ",2) |
通過(guò)指定分隔符" "對(duì)字符串進(jìn)行切片功咒,如果參數(shù) num 有指定值愉阎,則僅分隔 num 個(gè)子字符串,這里為2,默認(rèn)全部航瞭,從右側(cè)往左側(cè) |
['my name', 'is', 'jerry'] |
str3.partition("is") |
返回一個(gè)3元的元組诫硕,第一個(gè)為分隔符左邊的子串坦辟,第二個(gè)為分隔符本身刊侯,第三個(gè)為分隔符右邊的子串,從字符串的左側(cè)搜索分隔符 |
('my name ', 'is', ' jerry') |
str3.rpartition("is") |
返回一個(gè)3元的元組,第一個(gè)為分隔符左邊的子串锉走,第二個(gè)為分隔符本身滨彻,第三個(gè)為分隔符右邊的子串,從字符串的右側(cè)搜索分隔符 |
('my name ', 'is', ' jerry') |
-
字符串的查找:
如:str4 = "asdfasdf"
函數(shù) |
描述 |
結(jié)果 |
str4.find("s") |
str4.查找(sub[, start[挪蹭, end]]])第一個(gè)參數(shù)要查找的目標(biāo)元素亭饵,二三參數(shù)可寫(xiě)可不寫(xiě),代表查找位置梁厉;查找成功返回元素第一匹配成功的下標(biāo)辜羊,否則返回-1;從左往右 |
1 |
str4.rfind("s") |
str4.查找(sub[踏兜, start[, end]]])第一個(gè)參數(shù)要查找的目標(biāo)元素八秃,二碱妆、三參數(shù)可寫(xiě)可不寫(xiě),代表查找位置昔驱;查找成功返回元素第一匹配成功的下標(biāo)疹尾,否則返回-1;從右往左 |
5 |
str4.index("s") |
str4.查找(sub[, start[骤肛, end]]])第一個(gè)參數(shù)要查找的目標(biāo)元素纳本,二、三參數(shù)可寫(xiě)可不寫(xiě)腋颠,代表查找位置繁成;查找成功返回元素第一匹配成功的下標(biāo),否則返回ValueRrror;從左往右 |
1 |
str4.rindex("s") |
str4.查找(sub[秕豫, start[朴艰, end]]])第一個(gè)參數(shù)要查找的目標(biāo)元素,二混移、三參數(shù)可寫(xiě)可不寫(xiě)祠墅,代表查找位置;查找成功返回元素第一匹配成功的下標(biāo)歌径,否則返回-1否則返回ValueRrror;從右往左 |
5 |
str4.count("s") |
str4.查找(sub[毁嗦, start[, end]]])第一個(gè)參數(shù)要查找的目標(biāo)元素回铛,二狗准、三參數(shù)可寫(xiě)可不寫(xiě),代表查找位置;返回元素出現(xiàn)的次數(shù) |
2 |
-
字符串的替換:
如:str4 = "asdfasdf"
函數(shù) |
描述 |
結(jié)果 |
str4.replace("a","#") |
str4.替換(舊的茵肃,新的[腔长,計(jì)數(shù)]) |
"#sdf#sdf" |
str4.maketrans("asd", "qwe") |
str4.多元素替換(舊的,新的)验残,兩個(gè)字符串的長(zhǎng)度必須相同捞附,為一一對(duì)應(yīng)的關(guān)系。 |
"qwefqwef" |
str.translate(table) |
bytes.translate(table[, delete]) |
table -- 翻譯表您没,翻譯表是通過(guò)maketrans() 方法轉(zhuǎn)換而來(lái)鸟召。deletechars -- 字符串中要過(guò)濾的字符列表。 |
bytearray.translate(table[, delete]) |
|
translate函數(shù):
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻譯表
str = "this is string example....wow!!!"
print (str.translate(trantab))
#結(jié)果:
th3s 3s str3ng 2x1mpl2....w4w!!!
#!/usr/bin/python
# 制作翻譯表
bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
# 轉(zhuǎn)換為大寫(xiě)氨鹏,并刪除字母o
print(b'runoob'.translate(bytes_tabtrans, b'o'))
#結(jié)果
b'RUNB'