1 .str()函數(shù)
2 .字符串比較的問題。2.1一些unicode字符可以使用不同的字節(jié)序列表示 2.2有些字符串的排列是基于某種語言的
3 .字符串得切片[::step],step算的時(shí)候是要加上自己的s[::-1] 字符串反序s[:-2],s[-1:2:-1]這個(gè)看不懂
4 .涉及到大量的字符串拼接,需要使用str.join()方法
5 .由于字符串是固定序列,所以所有的用于固定序列的功能都可以用于字符串,包括in,+=,復(fù)制,=
方法
1 . name.capitalize(),name.title() 首字母大寫
2 .name.center(100,"") 返回一個(gè)以原來字符串居中的新字符串,不夠的地方用補(bǔ)齊
3 .name.count('a',2,5):在這個(gè)切片范圍內(nèi)出現(xiàn)的次數(shù)
4 .name.endswith('g'):是否以這個(gè)字母結(jié)束
5 .name.startswith('b'):是否以這個(gè)字母開始
6 .name.find('s',1,5):是否有這個(gè)字母
7 .name.index('c',0,5):字母在串里面的左邊第一個(gè)的位置
8 .name.isalnum():字符串是字母和數(shù)字返回true
9 .name.isalpha():非空,并且每個(gè)字符都是字母
10 .name.isdecimal():非空,并且每個(gè)都是unicode的技術(shù)為10的數(shù)字
11 .name.isdigit():非空,并且每個(gè)都是ASCII數(shù)字,就返回true
12 .name.isdentifier():非空,并且每個(gè)都是有效的標(biāo)識(shí)符
13 .name.isdigit():非空,每個(gè)字母都是一個(gè)ASCII數(shù)字
14 .name.isidentifier():非空,并且是一個(gè)有效的標(biāo)識(shí)符,返回True
15 .name.islower():如果s至少有一個(gè)小寫的字符,并且所有的可小寫的字符都是小寫的,就返回True
16 .name.isspace()
17 .name.istitle()
18 .name.isupper():至少有一個(gè)字母是大寫,并且所有可以大寫的字母都是大寫
19 .name.ljust(width,'');
20 .name.rjust():使用方法和name.center相同
21 .name.lower():將字母變?yōu)樾?br>
22 .name.maketrans(),類似于name.translate()
23 .name.partition(' '),以空格分隔成三個(gè)字符串
24 .name.replace(t,u,n):使用u替換t,最多替換n次
25 .name.split(t,n):在字符串t處分割,最多分割為n個(gè),如果沒有n就盡可能的多分隔
26 .name.startwith(x,s,e)
27 .name.strip('X'),去掉兩邊的空格 name.rstrip()只剝離結(jié)尾處的字符串,name.lstrio()左邊的字符串.如果傳入的是一個(gè)字符串,那么證明需要去掉里面所有的字符串,每個(gè)字符串出現(xiàn)的位置都會(huì)被替換
28 .name.swapcase():反向變化,大寫變小寫,小寫變大寫
29 .name.upper()返回大寫版本
30 .name.zfill(w)返回一個(gè)長度為w的字符串,少的數(shù)字用0補(bǔ)充
31 ."X".join([arr]):其中x是需要連接的字符之間的東西,一般是空格,也可以是任意的符號(hào)胡或者空
32 .:字符串的復(fù)制
33 .in:字符串的判斷
34 .name.translate():字符的轉(zhuǎn)換,需要更加復(fù)雜的轉(zhuǎn)換要看codec文檔
35 .name.format(x):格式話字符串,x可以是數(shù)組,對(duì)象,普通的字符串,可以傳入的參數(shù)是位置參數(shù)和關(guān)鍵子參數(shù),關(guān)鍵字參數(shù)總是在位置參數(shù)之后,對(duì)于使用數(shù)組和對(duì)象的時(shí)候,那么需要以位置參數(shù)為標(biāo)準(zhǔn)調(diào)用,而且數(shù)組和對(duì)象是不能共存的,只能使用一個(gè)
36 .當(dāng)前還在作用于范圍內(nèi)的局部變量可以通過內(nèi)置的locals()函數(shù)訪問,該函數(shù)會(huì)返回一個(gè)局部變量,字典的只則是對(duì)變量值的引用,映射拆分操作符為**,可應(yīng)用與映射產(chǎn)生一個(gè)適合傳遞的dict值列表
37 .將變量值放在格式化文檔中,對(duì)需要顯示的后面的字符進(jìn)行一些過濾。這叫做格式約束:對(duì)于字符串來說,我們可以約束他的最大寬度,對(duì)其方式,最大值,最小值。
其他關(guān)于str的模塊
1 .unicodedata
2 .difflib:文件和字符串之間的差別
3 .io.StringIO:讀寫字符串
4 .textwrap:包裹和填充字符的方法:捕獲指定寬度的文本行,并最小化縮排的需求
5 .re:提供字符串處理的正則支持
6 .String模塊:有一些常用的變量
7 .jieba:進(jìn)行字符串的斷開
8 .struct:將字符打包為字節(jié)對(duì)象
attr
1 .string-ascii_letters,ascii_lowercase
字符串編碼
1 .最早的python只支持ascii編碼,普通的字符串在python內(nèi)部都是ascii編碼的。這兩中有互相轉(zhuǎn)化函數(shù)
2 .后來增加了對(duì)uncode的支持,以u(píng)nicode表示的字符串用u''表示
3 .普通的ascii碼也可以看成是utf8編碼
4 .unicode的前127個(gè)字符和ascii幾乎是一樣的,目的就是對(duì)他的一種補(bǔ)充。
5 .utf8是在保存和傳輸?shù)臅r(shí)候才用的。是unicode的一種格式。
6 .utf8正在成為明文文本編碼格式的事實(shí),你甚至都不需要知道曾經(jīng)存在過其他的編碼格式
7 .多行字符串 ''' '''不是左上角那個(gè)東西。不和js的模板字符串一樣