1.返回第一個字母大寫
1
2
3
4
|
>>>a
=
'shaw'
>>> b
=
a.capitalize()
>>>
print
b
Shaw
|
2.按指定長度填充特定字符
1
2
3
4
5
6
7
|
>>> a
=
'linux'
>>>
print
a.center(
7
,
'h'
)
hlinuxh
>>>
print
a.center(
8
,
'h'
)
hlinuxhh
>>>
print
a.center(
9
,
'h'
)
hhlinuxhh
|
3.查找某字符串出現的次數
1
2
3
4
5
6
7
8
9
|
>>> 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中處理中文)
1
2
3
|
b
=
'strid'
>>> b.decode(
'utf-8'
)
u
'strid'
|
5.用於判斷字符串是否以指定后綴結尾,如果以指定后綴結尾返回True,否則返回False。可選參數"start"與"end"為檢索字符串的開始與結束位置
1
2
3
4
5
6
7
|
>>> 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')轉為空格的字符數。
1
2
3
4
5
6
7
|
>>> 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。
1
2
3
4
5
6
7
|
>>> a
=
'stivenwang'
>>> a.find(
'w'
)
6
>>> a.find(
'w'
,
9
)
-
1
>>> a.find(
'w'
,
9
,
11
)
-
1
|
8.格式換字符串輸出(方法與%相似,但可以指定順序)
1
2
3
4
5
6
7
8
|
>>> 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(...)
1
2
3
4
5
6
7
8
|
>>> 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.檢測字符串是否由字母或數字組成。
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> a
=
'123'
>>> a.isalnum()
True
>>> b
=
'shaw'
>>> b.isalnum()
True
>>> c
=
'shaw123'
>>> c.isalnum()
True
>>> d
=
'th 123'
>>> d.isalnum()
False
|
11.檢測字符串是否只由字母組成
1
2
3
4
5
6
7
8
9
10
11
12
|
>> a
=
'123'
>>> a.isalpha()
False
>>> b
=
'123shaw'
>>> b.isalpha()
False
>>> c
=
'shaw'
>>> c.isalpha()
True
>>> d
=
'sha w'
>>> d.isalpha()
False
|
12.檢測字符串是否只由數字組成。
1
2
3
4
5
6
7
8
9
|
>>> a
=
'123'
>>> a.isdigit()
True
>>> b
=
'shaw'
>>> b.isdigit()
False
>>> c
=
'123shaw'
>>> c.isdigit()
False
|
13.檢測字符串是否由小寫字母組成。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> 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.檢測字符串是否只由空格組成。
1
2
3
4
5
6
7
8
9
|
>>> a
=
' '
>>> a.isspace()
True
>>> a
=
'123'
>>> a.isspace()
False
>>> a
=
'shaw'
>>> a.isspace()
False
|
15.檢測字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫。
1
2
3
4
5
6
7
8
9
|
>>> a
=
'Shaw'
>>> a.istitle()
True
>>> a
=
'Shaw123'
>>> a.istitle()
True
>>> a
=
'123'
>>> a.istitle()
False
|
16.檢測字符串中所有的字母是否都為大寫
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> a
=
'123'
>>> a.isupper()
False
>>> a
=
'Shaw'
>>> a.isupper()
False
>>> a
=
'Shaw123'
>>> a.isupper()
False
>>> a
=
'SHAW123'
>>> a.isupper()
True
|
17.用於將序列中的元素以指定的字符連接生成一個新的字符串。
1
2
3
4
|
>>> a
=
'-'
>>> b
=
'shaw'
>>>
print
a.join(b)
s
-
h
-
a
-
w
|
18.返回一個原字符串左對齊,並使用空格填充至指定長度的新字符串。如果指定的長度小於原字符串的長度則返回原字符串。
1
2
3
4
5
|
>>> s
=
'shaw'
>>> s.ljust(
10
)
'shaw '
>>> s.ljust(
10
,
'8'
)
'shaw888888'
|
19.轉換字符串中所有大寫字符為小寫。
1
2
3
4
5
6
|
>>> s
=
'PYTHON'
>>> s.lower()
'python'
>>> s
=
'PYTHON123'
>>> s.lower()
'python123'
|
20.用於截掉字符串左邊的空格或指定字符。
1
2
3
4
5
6
|
>>> s
=
'%%%shaw'
>>> s.lstrip(
'%'
)
'shaw'
>>> s
=
' shaw'
>>> s.lstrip()
'shaw'
|
21.根據指定的分隔符將字符串進行分割(返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串)
1
2
3
|
>>> S
=
'are you know:lilin is lowser'
>>> S.partition(
'lilin'
)
(
'are you know:'
,
'lilin'
,
' is lowser'
)
|
22.把字符串中的 old(舊字符串)替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。
1
2
3
|
>>> S
=
'shaw'
>>> S.replace(
'sh'
,
'LI'
)
'LIaw'
|
23.返回字符串最后一次出現的位置,如果沒有匹配項則返回-1。
1
2
3
4
5
|
>>> s
=
'lilin is good li lao ban'
>>> s.rfind(
'li'
)
14
>>> s.rfind(
'li'
,
0
,
8
)
2
|
24.返回子字符串 str 在字符串中最后出現的位置,如果沒有匹配的字符串會報異常,你可以指定可選參數[beg:end]設置查找的區間。
1
2
3
4
5
6
7
8
9
|
>>> 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
|
25.返回的原/新字符串右對齊,且默認使用空格填充至指定長度(width)的新字符串。如果指定的長度(width)小於原字符串的長度則返回原字符串
1
2
3
4
5
6
7
|
>>> s
=
'sch'
>>> s.rjust(
20
)
' sch'
>>> s.rjust(
20
,
'0'
)
'00000000000000000sch'
>>> s.rjust(
20
,
'H'
)
'HHHHHHHHHHHHHHHHHsch'
|
26.刪除 string 字符串末尾的指定字符(默認為空格).
1
2
3
|
>>> s
=
'shaw\n'
>>> s.rstrip(
'\n'
)
'shaw'
|
27.通過指定分隔符對字符串進行切片,如果參數num有指定值,則僅分隔 num 個子字符串
1
2
3
4
5
|
>>> s
=
'shaw\nlinux\nmac'
>>> s.split(
'\n'
)
[
'shaw'
,
'linux'
,
'mac'
]
>>> s.split(
'\n'
,
1
)
[
'shaw'
,
'linux\nmac'
]
|
28.按照行分隔,返回一個包含各行作為元素的列表,如果 num 指定則僅切片 num 個行.
1
2
3
4
5
6
|
>>> 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
)
|
29.用於檢查字符串是否是以指定子字符串開頭,如果是則返回 True,否則返回 False。如果參數 beg 和 end指定值,則在指定范圍內檢查。
1
2
3
4
5
|
>>> s
=
'my name is shaw'
>>> s.startswith(
'my'
)
True
>>> s.startswith(
'my'
,
10
,
15
)
False
|
30.用於移除字符串頭尾指定的字符(默認為空格)。
1
2
3
|
>>> s
=
'my name is sam'
>>> s.strip(
'm'
)
'y name is sa'
|
31.用於對字符串的大小寫字母進行轉換(小寫轉大寫,大寫轉小寫)
1
2
3
4
5
6
|
>>> s
=
'stiven'
>>> s.swapcase()
'STIVEN'
>>> s
=
'SHAW'
>>> s.swapcase()
'shaw'
|
32.返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫。
1
2
3
|
>>> s
=
'my name is shaw'
>>> s.title()
'My Name Is Shaw'
|
33.根據參數table給出的表(包含 256 個字符)轉換字符串的字符, 並返回翻譯后的字符串。要過濾掉的字符放到del 參數中
1
2
3
4
5
6
7
8
9
|
>>>
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$'@ "
|
34.將字符串中的小寫字母轉為大寫字母
1
2
3
4
5
6
7
8
9
|
>>> s
=
'sam'
>>> s.upper()
'SAM'
>>> s
=
'23sam'
>>> s.upper()
'23SAM'
>>> s
=
'23s am'
>>> s.upper()
'23S AM'
|