capitalize
描述
將字符串的第一個字符大寫
語法
value.capitalize()
實例
city = 'shenzhen'
shanghai = 'ShangHai'
print(city.capitalize())
print(shanghai.capitalize())
輸出:
'Shenzhen'
'Shanghai'
islower
描述
判斷字符串是否都為為小寫
語法
value.islower()
實例
city_shanghai = 'shanghai'
city_shenzhen = 'Shenzhen'
print(city_shanghai.islower())
print(city_shenzhen.islower())
輸出:
True
False
casefold
描述
lower() 方法只對ASCII編碼,也就是‘A-Z’有效,對于其他語言(非漢語或英文)中把大寫轉換為小寫的情況只能用 casefold() 方法。
語法
value.casefold()
實例
s1 = 'Peter Borwn' # 英文
s2 = "?" #德語
print(s1.lower())
print(s1.casefold())
print(s2.lower())
print(s2.casefold()) # #德語的"?"正確的小寫是"ss"
輸出:
peter brown
peter brown
?
lower
描述
lower() 方法只對ASCII編碼,也就是‘A-Z’有效,對于其他語言(非漢語或英文)中把大寫轉換為小寫的情況只能用 casefold() 方法。
語法
value.lower()
實例
s1 = 'Peter Borwn' # 英文
s2 = "?" #德語
print(s1.lower())
print(s1.casefold())
print(s2.lower())
print(s2.casefold()) # #德語的"?"正確的小寫是"ss"
輸出:
peter brown
peter brown
?
center
描述
center()返回一個原字符串居中,并使用空格填充填充至長度width的新字符串。默認填充字符為空格。
語法
value.center(width[, fillchar])
參數
- width:字符串的總寬度。
- fillchar:填充字符。
city = 'shenzhen'
print(city.center(24, '*'))
print(city.center(20))
輸出:
'********shenzhen********'
' shenzhen '
count
描述
count()方法用于統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置。
語法
value.count(sub, start= 0,end=len(string))
參數
- sub:搜索的子字符串
- start:字符串開始搜索的位置。默認為第一個字符,第一個字符索引值為0。
- end:字符串中結束索引的位置。字符中第一個字符的索引為0。默認為字符串的最后一個位置。
greeting = 'Hello,What your name? My name is Peter Brown'
print(gretting.count('name', 0, len(greeting))
輸出:
2
encode
描述
encode() 方法以 encoding 指定的編碼格式編碼字符串。errors參數可以指定不同的錯誤處理方案。
語法
value.encode(encoding='utf-8', errors='strict')
參數
- encoding:要使用的編碼,如"utf-8"。
- errors:設置不同錯誤的處理方式。默認為'strict'意味著編碼錯誤引起的一個UnicodeError。其它可能的值有'ignore','replace','xmlcharrefreplace','backslashreplace'以及通過 codecs.register_error()注冊的任何值。
實例
value = "中國"
print(value.encode("utf-8", "strict")
print(value.encode("gb2312", "strict")
輸出:
b'\xe4\xb8\xad\xe5\x9b\xbd'
b'\xd6\xd0\xb9\xfa'
decode
描述
decode()方法以encoding指定的編碼格式解碼字符串。默認編碼為字符串編碼。
語法
value.decode(encoding='utf-8', errors='strict')
參數
- encoding:要使用的編碼,如"utf-8"。
- errors:設置不同的錯誤處理方案。默認為'strict',意味著編碼錯誤引起一個UnicodeError。其它可能的值有'ignore','replace','xmlcharrefreplace','backslashreplace'以及通過 codec.register_error()注冊的任何值。
實例
value1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
value2 = b'\xd6\xd0\xb9\xfa'
print(value1.decode(encoding="utf-8", errors="strict"))
print(value2.decode(encoding="gb2312", errors="strict"))
輸出:
'中國'
'中國'
expandtabs
描述
expandtabs()方法把字符串中的tab符號('\t')轉為空格,tab符號('\t')默認的空格數是8。
語法
value.expandtabs(tabsize=8)
參數
- tabsize:指定轉換字符串中的tab符號('\t')轉為空格的字符數。
返回值
該方法返回字符串中的tab符號('\t')轉為空格后生成的新字符串。
實例
motto= "Constant dropping wears the stone."
print("原始字符串:" + motto)
print("替換 \\t符號:" + motto.expandtabs())
print("使用16個空格替換 \\t符號:" + motto.expandtabs(16))
輸出:
原始字符串:Constant dropping wears the stone.
替換 \t符號:Constant dropping wears the stone.
使用16個空格替換 \t 符號:Constant dropping wears the stone.
find
描述
find()方法檢測字符串中是否包含子字符串str,如果指定 beg (開始) 和 end (結束) 范圍,則檢查是否包含在指定范圍內,如果指定范圍內如果包含指定索引值,返回的實索引值在字符串中的起始位置。如果不包含索引值,返回-1。
語法
value.find(str, beg=0, end=len(string))
參數
- str:指定檢索的字符串。
- beg:開始索引,默認為0。
- end:結束索引,默認為字符串的長度。
返回值
如果包含子字符串返回開始的索引值,否則返回-1。
實例
str1 = "Experience is the mother of wisdom."
str2 = "mother "
print(str1.find(str2))
print(str1.find(str2, 5))
print(str.find(str2, 19))
輸出
18
18
-1
rfind
描述
rfind() 返回字符串最后一次出現的位置,如果沒有匹配項則返回-1。
語法
str.rfind(str, beg=0, end=len(string))
參數
- str:查找的字符串。
- beg:開始查找的位置,默認為0。
- end:結束查找的位置,默認為字符串的長度。
返回值
返回字符串最后一次出現的位置,如果沒有匹配項則返回-1。
實例
#!/usr/bin/python3
str1 = "this is really a string example....wow!!!"
str2 = "is"
print (str1.rfind(str2))
print (str1.rfind(str2, 0, 10))
print (str1.rfind(str2, 10, 0))
print (str1.find(str2))
print (str1.find(str2, 0, 10))
print (str1.find(str2, 10, 0))
輸出
5
5
-1
2
2
-1
format
描述
Python2.6開始,新增了一種格式化字符串的函數,
str.format()
,它增強了字符串格式化的功能。基本語法是通過{}
和:
來替代以前的%
。format函數可以接受不限個參數,位置可以不按順序。
語法
"{} {}".format("Hello", "World") # 不設置指定位置,按默認順序
"{0}, {1}".format("Hello", "World") # 設置指定位置
"{1} {0} {1}".format("Hello", "World") # 設置指定位置
"姓名:{name}, 愛好:{hobby}".format(name="peter", hobby="籃球") # 設置指定參數
person = {"name": "peter", "hobby": "basketball"}
"姓名:{name}, 愛好:{hobby}".format(**person) # 通過字典設置參數
my_list = ["peter", "basketball"]
"姓名: {0[0]}, 愛好: {0[1]}".format(my_list) # "0"是必須的,通過列表索引設置參數
語法
str.format("")
返回值
返回格式化后的字符串。
實例
print("{} {}".format("Hello", "World")) # 不設置指定位置,按默認順序
print("{0}, {1}".format("Hello", "World")) # 設置指定位置
print("{1} {0} {1}".format("Hello", "World")) # 設置指定位置
print("姓名:{name}, 愛好:{hobby}".format(name="peter", hobby="籃球")) # 設置指定參數
person = {"name": "peter", "hobby": "basketball"}
print("姓名:{name}, 愛好:{hobby}".format(**person)) # 通過字典設置參數
my_list = ["peter", "basketball"]
print("姓名: {0[0]}, 愛好: {0[1]}".format(my_list)) # "0"是必須的,通過列表索引設置參數
輸出
Hello World
Hello World
World Hello World
姓名:peter, 愛好:籃球
姓名:peter, 愛好:basketball
姓名: peter, 愛好: basketball
index
描述
index()方法檢測字符串中是否包含子字符串str,如果指定 beg (開始) 和 end (結束) 范圍,則檢查是否包含在指定范圍內,該方法與find() 方法一樣,只不過如果str不在string中會報一個異常。
語法
str.index(str, beg=0, end=len(string))
參數
- str:指定檢索的字符串。
- beg:開始索引,默認為0。
- end:結束索引,默認為字符串的長度。
返回值
如果包含子字符串返回開始的索引值,否則拋出異常。
實例
motto = "It is never too late to learn."
search = "late"
print(motto.index(search))
print(motto.index(search, 5))
print(motto.index(search, 17))
輸出
16
16
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
rindex
描述
rindex() 返回子字符串 str 在字符串中最后出現的位置,如果沒有匹配的字符串會報異常,你可以指定可選參數[beg:end]設置查找的區間。
語法
str.rindex(str, beg=0, end=len(string))
參數
- str:查找的字符串。
- beg:開始查找的位置,默認為0。
- end:結束查找的位置,默認為字符串的長度。
返回值
返回子字符串str在字符串中最后出現的位置,如果沒有匹配的字符串會報異常。
實例
#!/usr/bin/python3
str1 = "this is really a string example....wow!!!"
str2 = "is"
print (str1.rindex(str2))
print (str1.rindex(str2,10))
輸出
5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
isalnum
描述
isalnum()方法檢測字符串是否由字母和數字組成。
語法
str.isalnum()
返回值
如果string至少有一個字符并且所有字符都是字母或數字則返回True,否則返回False。
實例
str1 = "hello2018"
print(str1.isalnum())
str2 = "hello,world"
print(str2.isalnum())
輸出
True
False
isalpha
描述
isalpha()方法檢測字符串是否只由字母組成。
語法
str.isalpha()
返回值
如果字符串至少有一個字符并且所有字符都是字母則返回True,否則返回False。
實例
str1 = "hello"
print(str1.isalpha())
str2 = "Hello World!"
print(str2.isalpha())
輸出
True
False
isdecimal
描述
isdecimal()方法檢查字符串是否只包含十進制字符。這種方法只存在于unicode對象。注意:定義一個十進制字符串,只需在字符串前添加'u'前綴即可。
語法
str.isdecimal()
返回值
如果字符串是否只包含十進制字符返回True,否則返回False。
實例
str1 = "hello2018"
print(str1.isdecimal())
str2 = "9527"
print(str2.isdecimal())
輸出
False
True
isdigit
描述
isdigit() 方法檢測字符串是否只由數字組成。
語法
str.isdigit()
返回值
如果字符串只包含數字則返回True,否則返回False。
實例
str1 = "123456"
print(str1.isdigit())
str2 = "string example"
print(str2.isdigit())
輸出
True
False
isnumeric
描述
isnumeric()方法檢測字符串是否只由數字組成。這種方法是只針對Unicode對象。注意:定義一個字符串為Unicode,只需要在字符串前添加 'u' 前綴即可。
語法
str.isnumeric()
返回值
如果字符串中只包含數字字符,則返回True,否則返回False。
實例
str1 = "hello2018"
print(str1.isnumeric())
str2 = "12345678"
print(str2.isnumeric())
輸出
False
True
isspace
描述
isspace()方法檢測字符串是否只由空白字符組成。
語法
str.isspace()
返回值
如果字符串中只包含空格,則返回True,否則返回False。
實例
str1 = " "
print(str1.isspace())
str2 = "Hello World"
print(str2.isspace())
輸出
True
False
title
描述
title()方法用于返回“標題化”的字符串,就是說所有的單詞都是以大寫開始,其余字母均為小寫(見istitle())。
語法
str.title()
返回值
返回"標題化"的字符串,就是說所有的單詞都是以大寫開始的。
實例
name = "peter brown"
print(name.title())
輸出
Peter Brown
istitle
描述
istitle() 方法檢測字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫。
語法
str.istitle()
返回值
如果字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫則返回 True,否則返回 False.
實例
str1 = "Peter Brown"
print(str1.istitle())
str2 = "peter"
print(str2.istitle())
輸出
True
False
isupper
描述
isupper() 方法檢測字符串中所有的字母是否都為大寫。
語法
str.isupper()
返回值
如果字符串中包含至少一個區分大小寫的字符,并且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False
實例
str1 = "WHAT WOULD YOUR LIKE?"
print (str1.isupper())
str2 = "THIS is string example....wow!!!"
print (str2.isupper())
輸出
True
False
upper
描述
upper() 方法將字符串中的小寫字母轉為大寫字母。
語法
str.upper()
返回值
返回小寫字母轉為大寫字母的字符串。
實例
motto = "It is never too late to mend. "
print ("motto .upper() : ", motto .upper())
輸出
motto .upper() : IT IS NEVER TOO LATE TO MEND.
join
描述
join()方法用于將序列中的元素以指定的字符連接生成一個新的字符串。
語法
str.join(sequence)
參數
- sequence:要連接的元素序列。
返回值
返回通過指定字符序列中元素生成的新字符串。
實例
s1 = "-"
s2 = ""
seq = ("hello", "world")
print(s1.join(seq))
print(s2.join(seq))
輸出
hello-world
helloworld
len
描述
len() 方法返回對象(字符、列表、元組等)長度或項目個數。
語法
len(s)
參數
- s :對象
返回值
返回對象長度。
實例
name = "peter"
print(len(name))
my_list = [1, 2, 3, 4, 5, 6]
print(len(my_list))
my_dict = {"name": "peter", "age": 18}
print(len(my_dict))
輸出
5
6
2
ljust
描述
ljust() 方法返回一個原字符串左對齊,并使用空格填充至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。
語法
str.ljust(width[, fillchar])
參數
- width:指定字符串長度。
- fillchar:填充字符,默認為空格。
返回值
返回一個原字符串左對齊,并使用空格填充至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。
實例
str1 = "hello,world"
print(str1.ljust(20, '*'))
輸出
hello,world*********
rjust
描述
rjust() 返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串。如果指定的長度小于字符串的長度則返回原字符串。
語法
str.rjust(width[, fillchar])
參數
- width:指定填充指定字符后中字符串的總長度。
-fillchar:填充的字符,默認為空格。
返回值
返回一個原字符串右對齊,并使用空格填充至長度width的新字符串。如果指定的長度小于字符串的長度則返回原字符串。
實例
str1 = "Hello,World"
print(str1.rjust(20, '*'))
輸出
*********Hello,World
replace
描述
replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。
語法
str.replace(old, new[, max])
參數
- old:將被替換的子字符串。
- new:新字符串,用于替換old子字符串。
- max:可選字符串,替換不超過max次。
返回值
返回字符串中的old (舊字符串) 替換成new(新字符串)后生成的新字符串,如果指定第三個參數max,則替換不超過max次。
實例
#!/usr/bin/python3
motto = "Nothing down, nothing up."
print ("motto :", motto )
print ("motto :", motto.replace("down", "raise"))
value= "this is string example....wow!!!"
print (value.replace("is", "was", 3))
輸出
motto : Nothing down, nothing up.
motto : Nothing raise, nothing up.
thwas was string example....wow!!!
strip
描述
strip() 方法用于移除字符串頭尾指定的字符(默認為空格)。
語法
str.strip([chars])
參數
chars:移除字符串頭尾指定的字符。
返回值
返回移除字符串頭尾指定的字符生成的新字符串。
實例
value = "****** Hello World ******"
print(value.strip('*'))
輸出
Hello World
lstrip
描述
lstrip() 方法用于移除字符串頭部指定的字符(默認為空格)。
語法
str.lstrip([chars])
參數
chars:移除字符串頭部指定的字符。
返回值
返回移除字符串頭部指定的字符生成的新字符串。
實例
value = "****** Hello World ******"
print(value.lstrip('*'))
輸出
Hello World ******
rstrip
描述
rstrip() 方法用于移除字符串尾部指定的字符(默認為空格)。
語法
str.rstrip([chars])
參數
chars:移除字符串尾部指定的字符。
返回值
返回移除字符串尾部指定的字符生成的新字符串。
實例
value = "****** Hello World ******"
print(value.rstrip('*'))
輸出
****** Hello World
split
描述
split()通過指定分隔符對字符串進行切片,如果參數num 有指定值,則僅分隔 num 個子字符串
語法
str.split(str="", num=string.count(str))
參數
- str:分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
- num:分隔次數。
返回值
返回分隔后的字符串列表。
實例
#!/usr/bin/python3
str = "this is string example....wow!!!"
print (str.split( ))
print (str.split('i',1))
print (str.split('w'))
輸出
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']
splitlines
描述
splitlines() 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
語法
str.splitlines([keepends])
參數
- keepends:在輸出結果里是否去掉換行符('\r','\r\n','\n'),默認為False,不包含換行符,如果為True,則保留換行符。
返回值
返回一個包含各行作為元素的列表。
實例
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines()
['ab c', '', 'de fg', 'kl']
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(True)
['ab c\n', '\n', 'de fg\r', 'kl\r\n']
>>>
startswith
描述
startswith() 方法用于檢查字符串是否是以指定子字符串開頭,如果是則返回 True,否則返回 False。如果參數 beg 和 end 指定值,則在指定范圍內檢查。
語法
str.startswith(str, beg=0, end=len(string))
參數
- str:檢測的字符串。
- beg:可選參數用于設置字符串檢測的起始位置。
- end:可選參數用于設置字符串檢測的結束位置。
返回值
如果檢測到字符串則返回True,否則返回False。
實例
#!/usr/bin/python3
str = "this is string example....wow!!!"
print (str.startswith( 'this' ))
print (str.startswith( 'string', 8 ))
print (str.startswith( 'this', 2, 4 ))
輸出
True
True
False
endswith
描述
endswith() 方法用于判斷字符串是否以指定后綴結尾,如果以指定后綴結尾返回True,否則返回False。可選參數"start"與"end"為檢索字符串的開始與結束位置。
語法
str.endswith(suffix[, start[, end]])
參數
- suffix:該參數可以是一個字符串或者是一個元素。
- start:可選參數用于設置字符串檢測的起始位置。
- end:可選參數用于設置字符串檢測的結束位置。
返回值
如果檢測到字符串則返回True,否則返回False。
實例
#!/usr/bin/python3
Str='Runoob example....wow!!!'
suffix='!!'
print (Str.endswith(suffix))
print (Str.endswith(suffix,20))
suffix='run'
print (Str.endswith(suffix))
print (Str.endswith(suffix, 0, 19))
輸出
True
True
False
False
swapcase
描述
swapcase() 方法用于對字符串的大小寫字母進行轉換。
語法
str.swapcase()
返回值
返回大小寫字母轉換后生成的新字符串。
實例
motto = "A GOOD BOOK IS YOUR BEST FRIEND. "
print(motto.swapcase())
motto2 = "a good book is your best friend. "
print(motto2.swapcase())
輸出
a good book is your best friend.
GOOD BOOK IS YOUR BEST FRIEND.
translate
描述
translate() 方法根據參數table給出的表(包含 256 個字符)轉換字符串的字符,要過濾掉的字符放到 deletechars 參數中。
語法
str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])
參數
- table:翻譯表,翻譯表是通過maketrans()方法轉換而來。
- deletechars:字符串中要過濾的字符列表。
返回值
返回翻譯后的字符串,若給出了delete參數,則將原來的bytes中的屬于delete的字符刪除,剩下的字符要按照table中給出的映射來進行映射。
實例
#!/usr/bin/python3
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻譯表
str = "this is string example....wow!!!"
print (str.translate(trantab))
輸出
th3s 3s str3ng 2x1mpl2....w4w!!!
zfill
描述
zfill() 方法返回指定長度的字符串,原字符串右對齊,前面填充0。
語法
str.zfill(width)
參數
- width:指定字符串的長度。原字符串右對齊,前面填充0。
返回值
返回指定長度的字符串。
實例
#!/usr/bin/python3
str = "this is string example from runoob....wow!!!"
print ("str.zfill : ",str.zfill(40))
print ("str.zfill : ",str.zfill(50))
輸出
str.zfill : this is string example from runoob....wow!!!
str.zfill : 000000this is string example from runoob....wow!!!
關于更多Python字符串方法請參考:http://www.runoob.com/python3/python3-string.html