Python中的字串操作(Python3.6.1版本)

ii_chengzi發表於2019-10-14

(1)切片操作:

str1="hello world!" 

str1[1:3] <=> ' el'(左閉右開:即是從1到2)

str[:3] <=> ' hel'

str[2:] <=> ' llo world!'

(2)和Java中的字串一樣,不能直接改變字串的值,更新字串時候可以用切片技術:

str1="hello world!" 

str1=str1[:1]+'python'+str1[1:] <=> 'h pythonello world!'

(3)capitalize():將字串第一個字元大寫

>>> str='hello world!'
>>> str.capitalize ()
' Hello world!'
>>>

(4)casefold():將整個字串小寫

>>> str1="Hello world!"
>>> str1.casefold ()
' hello world!'
>>>

(5)center(width):將整個字串居中(如果不夠width則用空格補充)

str1="Hello world!"

>>> str1.center(20)
' Hello world! '
>>>

(6)count(sub[,start[,end]]):sub從start到end出現的次數(預設是整個字串)

str1="Hello world!"

>>> str1.count ('l',3)
2("Hel lo wor ld!")
>>> str1.count ('l')
3("He llo wor ld!")
>>> str1.count('l',3,6)
1("Hello wor ld!")
>>>

(7)endswith(sub)判斷是否是以哪個字串結尾

str1="Hello world!"

>>> str1.endswith('orld!')
True("Hel lo w orld!")
>>>

(8)expandstabs():將字串中的'\t'轉換為空格

>>> str2='include world!'
>>> str2.expandtabs()
'include world!'
>>>

(9)find(sub[,start][,end]):查詢字串中子串從start到end出現的位置並返回下標

str1="Hello world!"

>>> str1.find('llo')
2("He llo world!")
>>> str1.find('llo',3,8)
-1
>>>

(10)isalnum():判斷s是否是數字或者字母

str1="Hello world!"

>>> str1.isalnum()
False("Hello world !")
>>>

(11)isspace():判斷是否是空格

>>> str=" "
>>> str.isspace()
True
>>>

(12)isdigit():判斷是否都是數字組成

>>> str="12345dfgbhn"
>>> str.isdigit()
False("12345 dfgbhn")
>>>

(13)isalpha():判斷是否都是由字母組成的

>>> str='asdfghj'
>>> str.isalpha()
True
>>>

(14)islower():判斷是否都是由小寫字母組成的

>>> str='asdfghj'
>>> str.islower()
True
>>>

(15)istitle():判斷是否是標題形式字串(即是連續字串只有第一個字母大寫,其他都是小寫,若是有空格,則每個分隔的字串都滿足此)

>>> str='Helloworld'
>>> str.istitle()
True
>>>

(16)isupper():判斷是否都是由大寫字母組成的

>>> str='HELLO WOLD'
>>> str.isupper()
True
>>>

(17)join(sub)

>>> str1="abc"
>>> str1.join('1234')
'1 abc2 abc3 abc4'
>>>

(18)lstrip():去掉字串左邊所有空格

>>> str=" hello world!"
>>> str.lstrip()
'hello world!'
>>>

(19)rstrip():去掉字串右邊的空格

>>> str="hello world! "
>>> str.rstrip()
'hello world!'
>>>

(20)replace(old,[,new][,count]):將字串中的old子串替換為new,替換count次

str='hello world!'

>>> str.replace('hello' ,'HELLO' ,2)
' HELLO world! '
>>>

(21)rfind(sub[,start][,end]):從右邊開始查詢字串中子串從start到end出現的位置並返回下標(注意start和end是從左往右的,返回的也是從左到右的位置。)

>>> str="hello world!"
>>> str.rfind('d!',0,5)
-1
>>> str.rfind('d!')
10
>>>

(22)split(sep):將字串用給定的標準分割,並且以列表形式返回分割後的元素組

>>> str="1,2,3,4"
>>> str.split(',')
['1', '2', '3', '4']
>>>

(23)startwith(sub[,start][,end]):判斷從start到end是否以sub開頭

>>> str.startswith('hel')
True
>>>

(24)strip():去掉字串左右兩邊的空格

>>> str=' hello world! '
>>> str.strip()
'hello world!'
>>>

(25)swapcase():將字串的大小寫反轉

>>> str="Hello world!"
>>> str.swapcase ()
' hELLO WORLD!'
>>>

(26)title()將字串標題化(即是連續字串的第一個字母大寫,其他都是小寫空格,分隔的字串都遵循此規則)

>>> str="hello world!"
>>> str.title()
' Hello  World!'
>>>

(27)translate(table)

>>> str="sssaabb"
>>> str.translate(str.maketrans('s','b'))
' bbbaabb'
>>>

(28)upper():將整個字串都大寫

>>> str="hello world!"
>>> str.upper()
' HELLO WORLD!'
>>>

(29)zfill(width):用'0'來填充不夠的空格(是從左邊開始填充)

>>> str="hello world! "
>>> str.zfill(20)
' 00000hello world! '
>>>

(30)lower():將整個字串都小寫

>>> str="HELLO worldQ"
>>> str.lower()
' hello world q'
>>>

(31)format()

>>> '{0} love {1}{2}'.format('I','my','home')
'I love myhome'
>>> '{0} love {1} {2}'.format('I','my','home')
'I love my home'
>>> '{a} love {b} {c}'.format(a='I',b='my',c='home')
'I love my home'

>>> '{0:.1f}{1}'.format(27.658,'GB')
'27.7GB'
>>>

(32)格式化:

>>> "%d+%d=%d" % (4,5,4+5)
'4+5=9'
>>>

>>> '%c' % 97
'a'
>>>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2659963/,如需轉載,請註明出處,否則將追究法律責任。

相關文章