總結(jié)一下在學(xué)習(xí)過程中遇到的字符串問題煮寡。
格式化操作符(%)
"%"是Python風(fēng)格的字符串格式化操作符
%r
——優(yōu)先用repr()函數(shù)進(jìn)行字符串轉(zhuǎn)換
%s
——優(yōu)先用str()函數(shù)進(jìn)行字符串轉(zhuǎn)換
%d / %i
——轉(zhuǎn)成有符號(hào)十進(jìn)制數(shù)
%u
——轉(zhuǎn)成無符號(hào)十進(jìn)制數(shù)
%o
——轉(zhuǎn)成無符號(hào)八進(jìn)制數(shù)
%f / %F
——轉(zhuǎn)成浮點(diǎn)數(shù)(小數(shù)部分自然截?cái)啵?/p>
格式化操作符輔助符
-
——用做左對(duì)齊
m.n
——m 是顯示的最小總寬度,n 是小數(shù)點(diǎn)后的位數(shù)(如果可用的話)
#
——在八進(jìn)制數(shù)前面顯示零(0),在十六進(jìn)制前面顯示"0x"或者"0X"(取決 于用的是"x"還是"X")
字符串內(nèi)建函數(shù)format()
格式化字符串函數(shù)str.format()
,通過這個(gè)函數(shù)同樣可以對(duì)字符串進(jìn)行格式化處理唁影。在format()函數(shù)中溅固,使用“{}”符號(hào)來當(dāng)作格式化操作符。
- 位置參數(shù)
根據(jù)format()里邊的參數(shù)位置進(jìn)行索引
print "{0} is {1} years old".format("Wilber", 28)
print "{} is {} years old".format("Wilber", 28)
print "Hi, {0}! {0} is {1} years old".format("Wilber", 28)
- 關(guān)鍵字參數(shù)
print "{name} is {age} years old".format(name = "Wilber", age = 28)
- 下標(biāo)參數(shù)
li = ["Wilber", 28]
print "{0[0]} is {0[1]} years old".format(li)
- 填充字符
格式{:填充符 格式符 寬度}.format(…)
:
后跟填充字符象踊,不指定默認(rèn)為空格填充,格式符有三種:^
棚壁、<
杯矩、>
分別表示居中、左對(duì)齊和右對(duì)齊袖外,且只能是一個(gè)字符菊碟,格式符后跟寬度
print '{:>8}'.format('3.14')
print '{:0>8}'.format('3.14')
還可以用來表示浮點(diǎn)精度:
print '{:.4f}'.format(3.1415926)
print '{:0>10.4f}'.format(3.1415926)
字符串內(nèi)建函數(shù)
其中S均表示任意一個(gè)字符串
小寫
S.lower()
大寫
S.upper()
大小寫互換
S.swapcase()
首字母大寫
S.capitalize()
輸出width個(gè)字符,S左對(duì)齊在刺,不足部分用fillchar填充逆害,默認(rèn)的為空格。
S.ljust(width,[fillchar])
右對(duì)齊
S.rjust(width,[fillchar])
中間對(duì)齊
S.center(width, [fillchar])
返回S中出現(xiàn)substr的第一個(gè)字母的標(biāo)號(hào)蚣驼,如果S中沒有substr則返回-1魄幕。start和end作用就相當(dāng)于在S[start:end]中搜索
S.find(substr, [start, [end]])
返回S中最后出現(xiàn)的substr的第一個(gè)字母的標(biāo)號(hào),如果S中沒有substr則返回-1颖杏,也就是說從右邊算起的第一次出現(xiàn)的substr的首字母標(biāo)號(hào)
S.rfind(substr, [start, [end]])
計(jì)算substr在S中出現(xiàn)的次數(shù)
S.count(substr, [start, [end]])
把S中的oldstar替換為newstr纯陨,count為替換次數(shù)
S.replace(oldstr, newstr, [count])
把S中前后chars中有的字符全部去掉,可以理解為把S前后chars替換為None
S.strip([chars])
S.lstrip([chars])
S.rstrip([chars])
以sep為分隔符留储,把S分成一個(gè)list翼抠。maxsplit表示分割的次數(shù)。默認(rèn)的分割符為空白字符
S.split([sep, [maxsplit]])
把seq代表的字符串序列获讳,用S連接起來
S.join(seq)