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 "", line 1, in
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 "", line 1, in
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