字串方法

2021-07-25 20:42:24 字數 4634 閱讀 4424

find 方法可以在乙個較長的字串中查詢子字串,並返回子字串所在位置最左邊的索引。如果沒有找到則返回-1。

>>> 

'hello,world.cold enough?'.find('world')

6>>> title='hello,world.cold enough?'

>>> title.find('hello')

0>>> title.find('cold')

12>>> title.find('enough')

17>>> title.find('you')

-1>>>

相同點:

>>> subject='$$$ get rich now!!! $$$'

>>>

'$$$'

in subject

true

>>> subject.find('$$$')

0>>>

'p'in

'python'

true

>>>

'python' .find('p')

0>>>

'th'

in'python'

true

>>>

'is very'

in'python is very good!'

true

>>>

'python is very good!'.find('is very' )

7>>>

'wh'

in'python'

false

>>>

'python'.find('wh')

-1>>>

不同點:

成員資格方法返回的是布林值,find方法不返回布林值,如果返回0,則證明在索引為0的位置找到子字串。

find 方法可以接收可選的起始點和結束點引數(即第二個和第三個引數),包含第乙個索引,不包含第二個索引。

>>> subject='$$$ get rich now!!! $$$'

>>> subject.find('$$$',1)

20>>> subject.find('!!!')

16>>> subject.find('!!!',0,16)

-1>>>

用來連線序列連線符字元 . join(序列列表)。

>>> lst=[1,2,3,4]

>>> seq='+'

>>> seq.join(lst)

traceback (most recent call last):

file "", line 1, in

seq.join(lst)

typeerror: sequence item 0: expected string, int found

>>> lst=['1','2','3','4']

>>> seq.join(lst)

'1+2+3+4'

>>>

'++'.join(lst)

'1++2++3++4'

>>>

'/'.join(['usr','bin','lib'])

'usr/bin/lib'

>>>

print

'c:'+'\\'.join(['usr','bin','lib'])

c:usr\bin\lib

>>>

print

'\n'.join(['usr','bin','lib'])

usrbin

lib>>>

將字串分割成序列,是join方法的逆方法。字串 . split(分割符),如果不提供分隔符,程式把空格作為分隔符。

>>> 

'1+2+3+4'.split('+')

['1', '2', '3', '4']

>>>

'usr/bin/lib'.split('/')

['usr', 'bin', 'lib']

>>>

'how are you ?'.split()

['how', 'are', 'you', '?']

>>>

lower 方法返回字串的小寫字母版。如果想編寫不區分大小寫的**,如查詢使用者名稱時,不論客戶輸入大小寫的使用者名稱,總能在列表中找到。

>>> name='janny'

>>> lst=['janny','danny','li']

>>>

if name.lower() in lst:print

'found it'

found it

>>> name='danny'

>>>

if name.lower() in lst:print

'found it'

found it

>>> name='danny'

>>>

if name.lower() in lst:print

'found it'

found it

>>>

將所有字串轉換為標題,首字母大寫,其他字母小寫。

>>> 

"that's all folks".title()

"that's all folks"

>>>

得到正確首字母大寫的標題,冠詞小寫。

>>> 

from string import capwords

>>> capwords("that's all folks")

"that's all folks"

>>>

import string

>>> string.capwords("that's all folks")

"that's all folks"

>>>

返回某字串的所有匹配項均被替換之後得到字串。

字串.replace(查詢,替換)

>>> 

'this is a good idea.'.replace('is','was')

'thwas was a good idea.'

>>>

strip()返回去除兩側( 不包括內部)空格的字串,strip(字元引數)返回去除兩側(不包括內部)引數字元的字串。

>>> name='janny '

>>> lst=['janny','danny','li']

>>>

if name in lst:print

'found it'

>>>

if name.strip() in lst:print

'found it'

found it

>>>

'*** hey * what * is * that? *** ' .strip('*?')

' hey * what * is * that? *** '

>>>

'*** hey * what * is * that? ***' .strip('*?')

' hey * what * is * that? '

>>>

'*** hey * what * is * that? ***' .strip(' *?')

'hey * what * is * that'

>>>

translate 方法也可以替換字串中的某些部分,但是只處理單個字元,且可以一次處理多個替換,比replace效率高很多。

>>> 

from string import maketrans

>>> table=maketrans('cs','kz')

>>> len(table)

256>>> table[97:1

23]'abkdefghijklmnopqrztuvwxyz'

>>> maketrans('','')[97:123]

'abcdefghijklmnopqrstuvwxyz'

>>>

string 模組裡的 maketrans 函式接受兩個引數:兩個等長的字串,表示第乙個字串中的每個字串都用第二個字串中相同位置的字元替換。

maketrans(『cs』,』kz』)

中,把字元 c 替換為 k, 把 s 替換為 z 。

maketrans(」,」)中,為空轉換,即為乙個普通的字母表。

maketrans 函式建立的轉換錶可作為 tranlate 的引數。

>>> 

'this is a good test'.translate(table)

'thiz iz a good tezt'

>>>

'this is a good test'.translate(table,' ')

'thizizagoodtezt'

>>>

translate 的第二個引數用來指定需要刪除的字元。

字串方法

coding utf 8 字串也可以理解為乙個容器,也存在索引值,而字串中的每乙個字元可以理解為是一 個元素。1 len 獲取字串長度的方法 print 字串長度len len abcd 2 字串的取值 string abcdef r1 string 0 r2 string 1 print r1,r...

字串方法

字串方法 在這裡插入 片 定義乙個字串 var box 我的世界 返回指定位置的字串 box.charat 2 console.log box.charat 2 字串的長度 box.length console.log box.length 英文大小寫 var box2 holle 大寫 box2....

字串方法

一 字串的檢索方法 1 charat 2 charcodeat 3 indexof 4 lastindexof chatat 語法 stringobject.charat index 功能 返回stringobject中index位置的字元,如果沒有返回空。charcodeat 語法 stringo...