1. 程式人生 > >3——字串型別(增刪改查)

3——字串型別(增刪改查)

字串

查
st.find(字元,StartIndex,EndIndex)  # 返回查詢到的字串的索引位置,如果未找到將返回-1

st.count(字元) # 返回查詢並統計這個字串的數量 st.index(字元) # 返回查詢的字串的索引位置,如果未找到將報錯,推薦使用str.find st.isdigit() # 判斷當前字串是否由純數字組成返回True 或 False st.isalpha() # 判斷當前字串是否由純字元組成 返回True 或 False st.islower() # 判斷當前字串的所有英文字母是否全為小寫字母 返回True 或 False st.isupper() # 判斷當前字串的所有英文字母是否全為大寫字母 返回True 或 False st.startswith('字元') # 判斷當前字串是否為'字元'開始 返回True 或 False st.endswith('字元') # 判斷當前字串是否為'字元'結尾 返回True 或 False

strip()刪除首和尾的空格 str.lstrip() 刪左首空格 str.rstrip() 刪右尾空格

st.lower() 將當前字串的英文全部修改為小寫字母

st.upper() 將當前字串的英文全部修改為大寫字母

st.capitalize()如果當前字串的第一個字元為不為空的英文字母,則將該英文字母大寫,否則不進行任何操作

>>> st = 'sahdjgk'
>>> st.capitalize()
'Sahdjgk'
>>> 

st.split()以列表方式分割字串

>>> st
'sak sdjgio jkas'
>>> st.split()
['sak', 'sdjgio', 'jkas']
>>> 

st.title()將當前字串中的每一個分段的英文字母首字母大寫

 >>> st= 'dsadasd  weqewq  dasdas,dadsadas,dasda'              
 >>> st.title()                                
 'Dsadasd  Weqewq  Dasdas,Dadsadas,Dasda' 

In [1]: st = 'akdjsoie dkjsai sjig'         
    
In [2]: st.split('j',3)          #以字元'j'來進行分割3次                                          
Out[2]: ['akd', 'soie dk', 'sai s', 'ig']

 st.replace(OldStr,NewStr,count)   文字替換,執行後將舊字串替換為新的字串且可以指定次數

 In [5]: st = 'sjierijer'                                                 

 In [6]: st.replace('i','gogo',1)                                         
 Out[6]: 'sjgogoerijer'

字串的拼接   str1 + str2 + str3

In [1]: 'aaaa' + 'bbbb'

Out[1]: 'aaaabbbb'

格式化字串 ' %s %s %s '.(str1,str2,str3)      %s是佔位符

In [2]: ' %s %s ' % ('aaa','ccc')

Out[2]: ' aaa ccc '

使用join

 ’  ’.join([str1, str2, str3])

In [3]: '|||'.join(['aa','bb','cc'])

Out[3]: 'aa|||bb|||cc'

使用 format

' {} {} {} '.format(obj1,obj2,obj3)

' {0} {1} {2} '.format(obj1,obj2,obj3) #可以通過索引改變順序

' {n0} {n1} {n2} '.format(n1=obj1,n0=obj2,n2=obj3)

 字串格式化

瞭解
>>> ' %d ' %12   #數字
' 12 '
>>> ' %f ' %12.1  #浮點數
' 12.100000 '
>>> ' %c ' %97    #ASCII字元
' a '
>>> ' %o ' %9     #8進位制
' 11 '
>>> ' %x ' %15    #16進位制
' f '
>>> ' %e ' %15    #科學計數法
' 1.500000e+01 '
>>> 
>>> '%-6.3f'% 5456.3565
'5456.356'
>>> '%+-6.3f'% 59  #‘+’能夠顯示符號
'+59.000'
>>> '%5s'%'ab'   格式化長度
' ab'

掌握
>>> print( '%s' % '123' )  #以整型格式輸出
123
>>> print( '%r' % '123' )  #以字串格式輸出
'123'

format瞭解

>>> '{:.2f}'.format(1.2222)   #保留小數點後2位
'1.22'
>>> '{n1:.2f}'.format(n1=1.2222) 
'1.22'
>>> '{n1:.2%}'.format(n1=1.2222) #百分比格式
'122.22%'
>>> '{0:x}'.format(20)  #進位制轉換的時候{0:進位制}
'14'
>>> '{0:o}'.format(20)
'24'
>>>

' {a:<10} ’.format(a=12.3,b=13.44) 左對齊,長度為10

' {a:0<10} '.format(a=12.3,b=13.44) 數字補x (填充右邊, 寬度為4)

' {a:0>10} ’.format(a=12.3,b=13.44) 右對齊...

' {a:0^10} '.format(a=12.3,b=13.44) 兩邊對齊...

'{{ hello {0} }}'.format('python’) 轉義{和}符號

f = ' hello {0} '.format

f('python’) 這裡可以把format當作一個函式來看
字元前面加上   \   ,字元就不再表示字元本身的意思,表示ASCII碼中不能顯示字元,常見有下:
In [1]: a = '''asdf ...: fdsa''' In [2]: a Out[2]: 'asdf\nfdsa' In [3]: print(a) #\n 換行 asdf fdsa In [4]: print('asdf\tsdf') #\t 水平製表符 asdf sdf In [5]: print('asdf\bsdf') #\b 退格 asdsdf In [6]: print('asdf\rsdf') #\r 回車,當前位置移到本行開頭 sdff In [7]: print('asdf\rsdf') #\r 回車,當前位置移到本行開頭 asdf\rsdf In [8]: print('asdf\'rsdf') #\’ 代表一個單引號,同樣的 “ ? 等符號也可以這麼輸出 asdf'rsdf In [9]: print('asdf\0rsdf') #\0 代表一個空字元 asdfrsdf In [10]: print('asdf\arsdf') #\a 系統提示音 asdfrsdf In [11]: print(r'asdf\arsdf') #在python中如果要去掉字串的轉義,只需要在字串前面加上 r asdf\arsdf