python之字串

來源:互聯網
上載者:User

標籤:

字串immutable, 所以不能只改變一個字串的一個字元或者子串,但可以通過拼湊一箇舊串的各個部分來得到一個新串。

1 字串操作符

標準類型操作符和標準序列操作符略過
字串操作符
格式化操作符( % )

    符   號 描述
      %c  格式化字元及其ASCII碼
      %s  格式化字串
      %d  格式化整數
      %u  格式化無符號整型
      %o  格式化無符號八位元
      %x  格式化無符號十六進位數
      %X  格式化無符號十六進位數(大寫)
      %f  格式化浮點數字,可指定小數點後的精度
      %e  用科學計數法格式化浮點數
      %E  作用同%e,用科學計數法格式化浮點數
      %g  根據值的大小決定使用%f活%e
      %G  作用同%g,根據值的大小決定使用%f活%e
      %p  用十六進位數格式化變數的地址

 

 

 

 

 

 

 

 

 

 

 

 

 


原生字串( r )
Unicode字串( u )

逸出字元

逸出字元 描述
\(在行尾時) 續行符
\\ 反斜線符號
\‘ 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉義
\000
\n 換行
\v 縱向定位字元
\t 橫向定位字元
\r 斷行符號
\f 換頁
\oyy 八位元yy代表的字元,例如:\o12代表換行
\xyy 十進位數yy代表的字元,例如:\x0a代表換行
\other 其它的字元以普通格式輸出

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 字串內建函數

標準類型內建函數略過
序列類型內建函數樣本幾個

>>> max(‘abc‘),‘c‘>>> min(‘abc‘)‘a‘>>> for i, j in enumerate(‘hello‘):print i, j>>> zip(‘hello‘, ‘world‘)[(‘h‘, ‘w‘), (‘e‘, ‘o‘), (‘l‘, ‘r‘), (‘l‘, ‘l‘), (‘o‘, ‘d‘)]

字串類型函數

1.字串串連

①:+, +=
②:‘‘.join()

>>> lis = [‘apple‘,‘banana‘,‘china‘]>>> ‘-‘.join(lis) apple-banana-china >>> ‘‘.join(lis) applebananachina>>> ‘-‘.join(‘hello‘) h-e-l-l-o

 

2.字串截取

①string[x:y]
②:‘‘.split()

>>> string = ‘h-e-l-l-o‘>>> string.split(‘-‘) [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘] >>> string.split(‘-‘,2) [‘h‘, ‘e‘, ‘l-l-o‘]

③strip()

#s為字串,rm為要刪除的字元序列#s.strip(rm)        刪除s字串中開頭、結尾處,位於 rm刪除序列的字元#s.lstrip(rm)       刪除s字串中開頭處,位於 rm刪除序列的字元#s.rstrip(rm)      刪除s字串中結尾處,位於 rm刪除序列的字元ps: 當rm為空白時,預設刪除空白符(包括‘\n‘, ‘\r‘,  ‘\t‘,  ‘ ‘)>>> a = ‘    123‘>>> a.strip()‘123‘>>> a = ‘123abc‘>>> a.strip(‘12‘)‘3abc‘>>> a.strip(‘21‘)‘3abc‘

 

3.字串的尋找與替換

① find(), rfind()
字串中找到substring則返回索引(如果字串中有多個結果則返回第一次出現的索引),沒找到返回-1

>>> string = ‘I am Fishhat‘>>> string.find(‘F‘) 5>>> find(‘f‘) -1 >>> print string.find(‘h‘,5,-1) #返回找到的第一個的索引8 >>> print string.rfind(‘h‘) #rfind()從尾部開始找9

②替換 replace()

>>> string = ‘AAAAABBBBBDDDDD‘>>> string.replace(‘D‘,‘C‘) #把字串中所有的D替換為C‘AAAAABBBBBCCCCC‘>>> string.replace(‘A‘,‘a‘,3) #替換字串中的3個A為a‘aaaAABBBBCCCCC‘ #replace()函數的操作不會影響原字串.只是拷貝原字串然後進行操作而已

③startswith() 函數和 endswith() 函數

>>> string = ‘fishhat‘>>> string.startswith(‘fi‘)True>>> string.startswith(‘sh‘,2,4)True>>> string.endswith(‘hat‘)True>>> string.endswith(‘ha‘,4,6)True④string.count(sub, start= 0,end=len(string))string = ‘hello‘

 

4.字串對齊:

①:string.center(int[,str])

>>> string = ‘Fishhat‘>>> string.center(55)‘ Fishhat ‘>>> string.center(55,‘*‘)‘************************Fishhat************************‘

②:string.ljust(int[,str])

>>> string.ljust(55)‘Fishhat ‘>>> string.string.ljust(55,‘*‘)‘Fishhat************************************************‘

③:string.rjust(int[,str])

>>> string.ljust(55)‘ Fishhat‘>>> string.ljust(55,‘*‘)‘************************************************Fishhat‘

④:%(int)s

>>> ‘% 55s‘ % string‘ Fishhat‘>>> ‘% -55s‘ % string

 

5.字串其他處理:

string.capitalize() #把字串的第一個字元大寫string.upper() #轉換 string 中的小寫字母為大寫string.lower() #轉換 string 中所有大寫字元為小寫.

 

 

 

3. Unicode字串

# coding: utf8s1 = ‘漢‘print repr(s1)print len(s1)u1 = u‘漢‘print repr(u1)print len(u1)s2 = u1.encode(‘utf8‘)print repr(s2)u2 = s2.decode(‘utf8‘)print repr(u2)# 對unicode進行解碼時錯誤的s3 = u1.decode(‘utf8‘)# 對str進行編碼也是錯誤的u3 = s1.encode(‘utf8‘)

 

 

  

 2015-05-24

python之字串

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.