Python str方法總結


1.返回第一個字母大寫

    S.capitalize(...)

       S.capitalize() -> string

        >>>a = 'shaw'

>>> b = a.capitalize()

>>> print b

Shaw

2.按指定長度填充特定字符

    center(...)

       S.center(width[, fillchar]) -> string

>>> a = 'linux'

>>> print a.center(7,'h')

hlinuxh

>>> print a.center(8,'h')

hlinuxhh

>>> print a.center(9,'h')

hhlinuxhh

3.查找某字符串出現的次數

    count(...)

       S.count(sub[, start[, end]]) -> int

>>> a = "this is my dog, i love this dog and it's a good dog!"

>>> print a.count('dog')

3

>>> print a.count('dog',15)

2

>>> print a.count('dog',15,30)

0

>>> print a.count('dog',15,32)

1

4.以指定的編碼格式解碼字符串。默認編碼爲字符串編碼(適合python2中處理中文)

    decode(...)

       S.decode([encoding[,errors]]) ->object

b = 'strid'

>>> b.decode('utf-8')

u'strid'

5.用於判斷字符串是否以指定後綴結尾,如果以指定後綴結尾返回True,否則返回False。可選參數"start""end"爲檢索字符串的開始與結束位置

    endswith(...)

    S.endswith(suffix[, start[, end]]) ->bool

>>> shaw = 'I am shaw,what\'s your name ?'

>>> shaw.endswith('?')

True

>>> shaw.endswith('w',7,9)

True

>>> shaw.endswith('w',7,8)

False

6.把字符串中的 tab 符號('\t')轉爲空格,tab 符號('\t')默認的空格數是8tabsize -- 指定轉換字符串中的 tab 符號('\t')轉爲空格的字符數。

    expandtabs(...)

    S.expandtabs([tabsize]) -> string

>>> info = 'today is a good d\tay'

>>> print info.expandtabs()

today is a good d       ay

>>> print info.expandtabs(4)    tab裝換成4個空格

today is a good d   ay         

>>> printinfo.expandtabs(1)

today is a good d ay  tab裝換成1個空格

7.檢測字符串中是否包含子字符串 str ,如果指定 beg(開始) end(結束)範圍,則檢查是否包含在指定範圍內,如果包含子字符串,則返回開始的索引值,否則返回-1

    find(...)

    S.find(sub [,start [,end]]) -> int

>>> a = 'stivenwang'

>>> a.find('w')

6

>>> a.find('w',9)

-1

>>> a.find('w',9,11)

-1

8.格式換字符串輸出(方法與%相似,但可以指定順序)

    format(...)

    S.format(*args, **kwargs) -> string

>>> name = 'StivenWang'

>>> fruit = 'apple'

>>> print 'my name is {},I like {}'.format(name,fruit)

my name is StivenWang,I like apple

>>> print 'my name is {1},I like {0}'.format(fruit,name)

my name is StivenWang,I like apple

>>> print 'my name is {mingzi},I like{shuiguo}'.format(shuiguo=fruit,mingzi=name)

my name is StivenWang,I like apple

9.檢測字符串string中是否包含子字符串 str ,如果存在,則返回strstring中的索引值,如果指定 beg(開始) end(結束)範圍,則檢查是否包含在指定範圍內,該方法與 python find()方法一樣,只不過如果str不在 string中會報一個異常(ValueError: substring not found)

   

    index(...)

    S.index(sub [,start [,end]]) -> int

>>> str1 = "this is string example....wow!!!"

>>> str2 = "exam"

>>> print str1.index(str2)

15

>>> print str1.index(str2,20)

Traceback (most recent call last):

  File "<input>",line 1, in <module>

ValueError: substringnot found報錯

10.檢測字符串是否由字母或數字組成。

    isalnum(...)

    S.isalnum() -> bool

>>> a = '123'

>>> a.isalnum()

True

>>> b = 'shaw'

>>> b.isalnum()

True

>>> c = 'shaw123'

>>> c.isalnum()

True

>>> d = 'th 123'

>>> d.isalnum()

False

11.檢測字符串是否只由字母組成

    isalpha(...)

    S.isalpha() -> bool

>> a = '123'

>>> a.isalpha()

False

>>> b = '123shaw'

>>> b.isalpha()

False

>>> c = 'shaw'

>>> c.isalpha()

True

>>> d = 'sha w'

>>> d.isalpha()

False

12.檢測字符串是否只由數字組成。

    isdigit(...)

    S.isdigit() -> bool

>>> a = '123'

>>> a.isdigit()

True

>>> b = 'shaw'

>>> b.isdigit()

False

>>> c = '123shaw'

>>> c.isdigit()

False

13.檢測字符串是否由小寫字母組成。

    islower(...)

    S.islower() -> bool

>>> a = 'shaw'

>>> a.islower()

True

>>> b = '123'

>>> a.islower()

True

>>> c = '123shaw'

>>> c.islower()

True

>>> d = 'SHAW'

>>> d.islower()

False

>>> e = '123SHAW'

>>> e.islower()

False

14.檢測字符串是否只由空格組成。

    isspace(...)

    S.isspace() -> bool

>>> a = ' '

>>> a.isspace()

True

>>> a = '123'

>>> a.isspace()

False

>>> a = 'shaw'

>>> a.isspace()

False

15.檢測字符串中所有的單詞拼寫首字母是否爲大寫,且其他字母爲小寫。

    istitle(...) 

    S.istitle() -> bool

>>> a = 'Shaw'

>>> a.istitle()

True

>>> a = 'Shaw123'

>>> a.istitle()

True

>>> a = '123'

>>> a.istitle()

False

16.檢測字符串中所有的字母是否都爲大寫

    isupper(...)

       S.isupper() -> bool

>>> a = '123'

>>> a.isupper()

False

>>> a = 'Shaw'

>>> a.isupper()

False

>>> a = 'Shaw123'

>>> a.isupper()

False

>>> a = 'SHAW123'

>>> a.isupper()

True

17.用於將序列中的元素以指定的字符連接生成一個新的字符串。

join(...)

    S.join(iterable) -> string

>>> a = '-'

>>> b = 'shaw'

>>> print a.join(b)

s-h-a-w

18.返回一個原字符串左對齊,並使用空格填充至指定長度的新字符串。如果指定的長度小於原字符串的長度則返回原字符串。

    ljust(...)

    S.ljust(width[, fillchar]) -> string

    width -- 指定字符串長度

    fillchar -- 填充字符,默認爲空格

>>> s = 'shaw'

>>> s.ljust(10)

'shaw      '

>>> s.ljust(10,'8')

'shaw888888'

19.轉換字符串中所有大寫字符爲小寫。

    Lower(...)

    S.lower() -> string

>>> s = 'PYTHON'

>>> s.lower()

'python'

>>> s = 'PYTHON123'

>>> s.lower()

'python123'

20.用於截掉字符串左邊的空格或指定字符。

    lstrip(...)

    S.lstrip([chars]) -> string or unicode

>>> s = '%%%shaw'

>>> s.lstrip('%')

'shaw'

>>> s = '   shaw'

>>> s.lstrip()

'shaw'

21.根據指定的分隔符將字符串進行分割(返回一個3元的元組,第一個爲分隔符左邊的子串,第二個爲分隔符本身,第三個爲分隔符右邊的子串)

    partition(...)

    S.partition(sep) -> (head, sep, tail)

>>> S = 'are you know:lilin is lowser'

>>> S.partition('lilin')

('are you know:', 'lilin', ' is lowser')

22.把字符串中的 old(舊字符串)替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。

    replace(...)

    S.replace(old, new[, count]) -> string

>>> S = 'shaw'

>>> S.replace('sh','LI')

'LIaw'

22.返回字符串最後一次出現的位置,如果沒有匹配項則返回-1

    rfind(...)

    S.rfind(sub [,start [,end]]) -> int

    str -- 查找的字符串

    beg -- 開始查找的位置,默認爲0

    end -- 結束查找位置,默認爲字符串的長度。

>>> s = 'lilin is good li lao ban'

>>> s.rfind('li')

14

>>> s.rfind('li',0,8)

2

23.返回子字符串 str 在字符串中最後出現的位置,如果沒有匹配的字符串會報異常,你可以指定可選參數[beg:end]設置查找的區間。

    rindex(...)

    S.rindex(sub [,start [,end]]) -> int

    語法:

       str.rindex(str,beg=0 end=len(string))

>>> s = 'my name is shaw'

>>> s.rindex('s')

11

>>> s.rindex('s',5,10)

9

>>> s.rindex('s',2,8)

Traceback (most recent call last):

  File "<input>",line 1, in <module>

ValueError: substring not found

24.返回的原/新字符串右對齊,且默認使用空格填充至指定長度(width的新字符串。如果指定的長度(width)小於原字符串的長度則返回原字符串

    rjust(...)

    S.rjust(width[, fillchar]) -> string

    語法:

       str.rjust(width[,fillchar])

       width -- 指定填充指定字符後新字符串的總長度.

       fillchar – 要填充的字符,默認爲空格。

>>> s = 'sch'

>>> s.rjust(20)

'                 sch'

>>> s.rjust(20,'0')

'00000000000000000sch'

>>> s.rjust(20,'H')

'HHHHHHHHHHHHHHHHHsch'

25.刪除 string 字符串末尾的指定字符(默認爲空格).

    rstrip(...)

    S.rstrip([chars]) -> string or unicode

    語法:

       str.rstrip([chars])

>>> s = 'shaw\n'

>>> s.rstrip('\n')

'shaw'

26.通過指定分隔符對字符串進行切片,如果參數num有指定值,則僅分隔 num 個子字符串

    split(...)

    S.split([sep [,maxsplit]]) -> list ofstrings

    語法:

    str.split(str="",num=string.count(str)).

>>> s = 'shaw\nlinux\nmac'

>>> s.split('\n')

['shaw', 'linux', 'mac']

>>> s.split('\n',1)

['shaw', 'linux\nmac']

 

27.按照行分隔,返回一個包含各行作爲元素的列表,如果 num 指定則僅切片 num 個行.

    splitlines(...)

    S.splitlines(keepends=False) -> list ofstrings

    語法:

       str.splitlines( num=string.count('\n'))

       num -- 分割行的次數。

>>> s = 'what\'s your name?\n my name is shaw\n how old areyou?'

>>> s.splitlines()

["what's your name?", ' my name is shaw', ' how old areyou?']

>>> s.splitlines(1)

["what's your name?\n", ' my name is shaw\n', ' how old areyou?']

>>> s.splitlines(3)

28.用於檢查字符串是否是以指定子字符串開頭,如果是則返回 True,否則返回 False。如果參數 beg end 指定值,則在指定範圍內檢查。

    startswith(...)

    S.startswith(prefix[, start[, end]]) ->bool

    語法:

    str.startswith(str, beg=0,end=len(string))

    str -- 檢測的字符串。

    strbeg -- 可選參數用於設置字符串檢測的起始位置。

    strend -- 可選參數用於設置字符串檢測的結束位置。

>>> s = 'my name is shaw'

>>> s.startswith('my')

True

>>> s.startswith('my',10,15)

False

29.用於移除字符串頭尾指定的字符(默認爲空格)。

    strip(...)

    S.strip([chars]) -> string or unicode

>>> s = 'my name is sam'

>>> s.strip('m')

'y name is sa'

30.用於對字符串的大小寫字母進行轉換(小寫轉大寫,大寫轉小寫)

    swapcase(...)

    S.swapcase() -> string

>>> s = 'stiven'

>>> s.swapcase()

'STIVEN'

>>> s = 'SHAW'

>>> s.swapcase()

'shaw'

31.返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其餘字母均爲小寫。

    title(...)

    S.title() -> string

>>> s = 'my name is shaw'

>>> s.title()

'My Name Is Shaw'

32.根據參數table給出的表(包含 256 個字符)轉換字符串的字符, 並返回翻譯後的字符串要過濾掉的字符放到 del 參數中

    translate(...)

    S.translate(table [,deletechars]) ->string

    語法:

       str.translate(table[, deletechars])

       table -- 翻譯表,翻譯表是通過maketrans方法轉換而來。

       deletechars -- 字符串中要過濾的字符列表。

>>> from string import maketrans

suchas = maketrans('sm','@$')

>>> s = 'this is sam\'s dog'

>>> s

"this is sam's dog"

>>> s.translate(suchas)

"thi@ i@ @a$'@ dog"

>>> s.translate(suchas,'dog') 去除d,o,g字符

"thi@ i@ @a$'@ "

33.將字符串中的小寫字母轉爲大寫字母

    upper(...)

    S.upper() -> string

>>> s = 'sam'

>>> s.upper()

'SAM'

>>> s = '23sam'

>>> s.upper()

'23SAM'

>>> s = '23s am'

>>> s.upper()

'23S AM'


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章