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')默認的空格數是8,tabsize -- 指定轉換字符串中的 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 ,如果存在,則返回str在string中的索引值,如果指定 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'