split()方法
描述
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表。
实例
以下实例展示了 split() 函数的使用方法:
str = 'sunck**is**a**good**man'
print(str.split('*'))
>>>['sunck', '', 'is', '', 'a', '', 'good', '', 'man']
print(str.split('*',3))
>>>['sunck', '', 'is', '*a**good**man']
splitlines()方法
描述
Python splitlines() 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
语法
splitlines()方法语法:
str.splitlines([keepends])
参数
keepends – 在输出结果里是否去掉换行符(’\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。
返回值
返回一个包含各行作为元素的列表。
实例
以下实例展示了splitlines()函数的使用方法:
str1 = '''sunck is a good man!
sunck is a good man!
sunck is a good man!
'''
print(str1.splitlines())
>>>['sunck is a good man!', 'sunck is a good man!', 'sunck is a good man!']
print(str1.splitlines(True))```
>>>['sunck is a good man!\n', 'sunck is a good man!\n', 'sunck is a good man!\n']
join方法
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法
join()方法语法:
str.join(sequence)
参数
sequence – 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
实例
以下实例展示了join()的使用方法:
list2 = ['sunck', 'is', 'a', 'good', 'man']
str3 = "$".join(list2)
print('str3',str3)
>>>str3 sunck$is$a$good$man
replace()方法
描述
Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法
replace()方法语法:
str.replace(old, new[, max])
参数
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
实例
以下实例展示了replace()函数的使用方法:
str4 = 'sunck is a good good good man!'
str5 = str4.replace('good','nice',2)
print("str5",str5)
>>>str5 sunck is a nice nice good man!
translate()方法
描述
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
语法
translate()方法语法:
str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])
参数
table – 翻译表,翻译表是通过 maketrans() 方法转换而来。
deletechars – 字符串中要过滤的字符列表。
返回值
返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。
实例
以下实例展示了 translate() 函数的使用方法:
str6 = 'sunck is a good good good man!'
t = str6.maketrans('gd','12')
str7 = str6.translate(t)
print("str7",str7)
>>>str7 sunck is a 1oo2 1oo2 1oo2 man!
startswith()方法
描述
startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
语法
startswith()方法语法:
str.startswith(substr, beg=0,end=len(string));
参数
str – 检测的字符串。
substr – 指定的子字符串。
strbeg – 可选参数用于设置字符串检测的起始位置。
strend – 可选参数用于设置字符串检测的结束位置。
返回值
如果检测到字符串则返回True,否则返回False。
实例
以下实例展示了startswith()函数的使用方法:
str7 = 'sunck is a good man'
print('判断str7是否以sun开头',str7.startswith('sun'))
>>>判断str7是否以sun开头 True
print('判断str7是否以sun开头',str7.startswith('sun',2,6))
>>>判断str7是否以sun开头 False
endswith()方法
描述
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。
语法
endswith()方法语法:
str.endswith(suffix[, start[, end]])
参数
suffix – 该参数可以是一个字符串或者是一个元素。
start – 字符串中的开始位置。
end – 字符中结束位置。
返回值
如果字符串含有指定的后缀返回 True,否则返回 False。
实例
以下实例展示了endswith()方法的实例:
str8 = 'sunck is a good man'
print('判断str8是否以sun开头',str8.endswith('man'))
>>>判断str8是否以sun开头 True
print('判断str8是否以sun开头',str8.endswith('man',2,6))
判断str8是否以sun开头 False
encode()与decode()方法
描述
encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
decode() 方法以指定的编码格式解码 bytes 对象。默认编码为 ‘utf-8’。
语法
encode()方法语法:
str.encode(encoding='UTF-8',errors='strict')
decode()方法语法:
bytes.decode(encoding="utf-8", errors="strict")
参数
encoding – 要使用的编码,如: UTF-8。
errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。
encoding – 要使用的编码,如"UTF-8"。
errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。
返回值
encode(),该方法返回编码后的字符串,它是一个 bytes 对象。
decode(),该方法返回解码后的字符串。
实例
以下实例展示了encode()方法的实例:
str9 = '测试encode'
str10 = str9.encode('utf-8')
print('str10',str10)
str11 = str10.decode('utf-8','strict')
print('str11',str11)
isalpha()方法
描述
Python isalpha() 方法检测字符串是否只由字母或文字组成。
语法
isalpha()方法语法:
str.isalpha()
返回值
如果字符串至少有一个字符并且所有字符都是字母或文字则返回 True,否则返回 False。
实例
以下实例展示了isalpha()方法的实例:
str = "ABCabc汉字"
print('isalpha',str.isalpha())
>>>isalpha True
isalnum()方法
描述
isalnum() 方法检测字符串是否由字母和数字组成。
语法
isalnum()方法语法:
str.isalnum()
返回值
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
实例
以下实例展示了isalnum()方法的实例:
str = "ABCabc1223"
print('isalnum',str.isalnum())
>>>isalnum True
isupper()方法
描述
isupper() 方法检测字符串中所有的字母是否都为大写。
语法
isupper()方法语法:
str.isupper()
返回值
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
实例
以下实例展示了isupper()方法的实例:
str = "ABC1223"
print('isupper',str.isupper())
>>>isupper True
islower()方法
描述
islower() 方法检测字符串是否由小写字母组成。
语法
islower()方法语法:
str.islower()
返回值
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
实例
以下实例展示了islower()方法的实例:
str = "abc1223"
print('islower',str.islower())
>>>islower True
istitle()方法
描述
istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
语法
istitle()方法语法:
str.istitle()
返回值
如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
实例
以下实例展示了istitle()方法的实例:
str = 'Sunck Is A Good Man'
str1 = 'Sunck Is A good man'
print('str %s,str1 %s'%(str.istitle(),str1.istitle()))
>>>str True,str1 False
isdigit(),isnumeric(),isdecimal()方法
描述
- Python isdigit() 方法检测字符串是否只由数字组成。
- isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
注意:定义一个十进制字符串,只需要在字符串前添加 ‘u’ 前缀即可。 - isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。
指数类似 ² 与分数类似 ½ 也属于数字。
语法
- isdigit()方法语法:
str.isdigit()
- isdecimal()方法语法:
str.isdecimal()
- isnumeric()方法语法:
str.isnumeric()
返回值
- isdigit()方法返回值:
如果字符串只包含数字则返回 True 否则返回 False。 - isdecimal()方法返回值:
如果字符串是否只包含十进制字符返回True,否则返回False。 - isnumeric()方法返回值:
如果字符串中只包含数字字符,则返回 True,否则返回 False
实例
以下实例展示了isdigit()方法的实例:
str = '123'
print('isdigit',str.isdigit())
>>>isdigit False
三者的区别
isdigit、isdecimal 和 isnumeric 区别
-
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节)
False: 汉字数字,罗马数字,小数
Error: 无 -
isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字,小数
Error: byte数字(单字节) -
isnumeric()
True: Unicode 数字,全角数字(双字节),汉字数字
False: 小数,罗马数字
Error: byte数字(单字节)
num = "1" #unicode
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
num = "1" # 全角
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
num = b"1" # byte
num.isdigit() # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
num = "IV" # 罗马数字
num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # False
num = "四" # 汉字
num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # True
isspace()方法
描述
isspace() 方法检测字符串是否只由空白字符组成。
语法
isspace() 方法语法:
str.isspace()
返回值
如果字符串中只包含空格,则返回 True,否则返回 False.
实例
以下实例展示了isspace()方法的实例:
str = ' '
str1 = 'Sunck Is A good man'
print('str %s,str1 %s'%(str.isspace(),str1.isspace()))
>>>str True,str1 False