字符串用法
count()方法
描述
count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
str.count(sub, start= 0,end=len(string))
参数
- sub -- 搜索的子字符串
- start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
- end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
返回值
该方法返回子字符串在字符串中出现的次数。
center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "Eric Liu,19,18531054602,Marketing," print(cc_str.count("e"))
center()方法
center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
str.center(width[, fillchar])
参数
- width -- 字符串的总宽度。
- fillchar -- 填充字符。
返回值
返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "Eric Liu,19,18531054602,Marketing," print(cc_str.center(50, "%")) # 填充 结果: %%%%%%%%Eric Liu,19,18531054602,Marketing,%%%%%%%%
capitalize()方法
描述
Python capitalize()将字符串的第一个字母变成大写,其他字母变小写。
str.capitalize()
返回值
该方法返回一个首字母大写的字符串。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "eric Liu,19,18531054602,Marketing," print(cc_str.capitalize()) # 首字母大写 结果: Eric liu,19,18531054602,marketing
expandtabs()方法
描述
描述
expandtabs() 方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
str.expandtabs(tabsize=8)
参数
- tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。
返回值
该方法返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "er\tic Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str1.expandtabs()) print(cc_str.expandtabs()) 结果: eric Liu,19,18531054602,Marketing er ic Liu,19,18531054602,Marketing
encode()方法
描述
encode() 方法以指定的编码格式编码字符串
str.encode(encoding='UTF-8',errors='strict')
参数
- encoding -- 要使用的编码,如: UTF-8。
- errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
返回值
该方法返回编码后的字符串,它是一个 bytes 对象。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_strc ="中国" print(cc_strc.encode("utf-8")) 结果: b'\xe4\xb8\xad\xe5\x9b\xbd'
endswith()方法
描述
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置
str.endswith(suffix[, start[, end]])
参数
- suffix -- 该参数可以是一个字符串或者是一个元素。
- start -- 字符串中的开始位置。
- end -- 字符中结束位置。
返回值
如果字符串含有指定的后缀返回True,否则返回False。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "er\tic Liu,19,18531054602,Marketing" print(cc_str.endswith("g")) 结果: True
startswith()方法
描述
startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
str.startswith(str, beg=0,end=len(string));
参数
- str -- 检测的字符串。
- strbeg -- 可选参数用于设置字符串检测的起始位置。
- strend -- 可选参数用于设置字符串检测的结束位置。
返回值
如果检测到字符串则返回True,否则返回False。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "eric Liu,19,18531054602,Marketing" print(cc_str.startswith("e")) 结果: True
find()方法
描述
find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
str.find(str, beg=0, end=len(string))
参数
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则返回-1。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "eric Liu,19,18531054602,Marketing" print(cc_str.find("L")) 结果: 5
rfind()方法
描述
Python rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
str.rfind(str, beg=0 end=len(string))
参数
- str -- 查找的字符串
- beg -- 开始查找的位置,默认为0
- end -- 结束查找位置,默认为字符串的长度。
返回值
返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
cc_str = "eric Liu,19,18531054602,Marketing" print(cc_str.rfind("liu")) print(cc_str.rfind("Liu")) print(cc_str.find("i")) print(cc_str.rfind("i")) -1 5 2 30
index()方法
描述
index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
str.index(str, beg=0, end=len(string))
参数
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
#!/urs/bin/evn python # -*- coding:utf-8 -*- cc_str = "eric Liu,19,18531054602,Marketing" print(cc_str.index("5")) 结果: 14
rindex()方法
rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
str.rindex(str, beg=0 end=len(string))
参数
- str -- 查找的字符串
- beg -- 开始查找的位置,默认为0
- end -- 结束查找位置,默认为字符串的长度。
返回值
返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常。
cc_str = "eric Liu,19,18531054602,Marketing" print(cc_str.rindex("i")) print(cc_str.index("i")) 30 2
isdigit()方法
描述
isdigit() 方法检测字符串是否只由数字组成。
str.isdigit()
返回值
如果字符串只包含数字则返回 True 否则返回 False。
#!/usr/bin/env pyhton # -*- coding:utf-8 -*- str = "123456"; print (str.isdigit()) str = "Runoob example....wow!!!" print (str.isdigit()) True False
isalnum()方法
描述
isalnum() 方法检测字符串是否由字母和数字组成。
返回值
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
#!/urs/bin/evn python # -*- coding:utf-8 -*- strsq = "ru123456" print(strsq.isalnum()) True
isnumeric()方法
描述
isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可,具体可以查看本章节例子。
返回值
如果字符串中只包含数字字符,则返回 True,否则返回 False
#!/urs/bin/evn python # -*- coding:utf-8 -*- strsq = "二一三" strsq1 = "1234" print(strsq.isnumeric()) print(strsq1.isnumeric()) True True
isalpha()方法
isalpha() 方法检测字符串是否只由字母组成。
返回值
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
strsq1 = "sss" strsq = "1334s" print(strsq1.isalpha()) print(strsq.isalpha()) True False
isspace()方法
isspace() 方法检测字符串是否只由空白字符组成。
str.isspace()
返回值
如果字符串中只包含空格,则返回 True,否则返回 False
strsq1 = " " strsq2 = "cc2" print(strsq1.isspace()) print(strsq2.isspace()) True False
isupper()方法
描述
isupper() 方法检测字符串中所有的字母是否都为大写。
返回值
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
strsq1 = "Cc2" strsq2 = "cc2" strsq3 = "CC2" print(strsq1.isupper()) print(strsq2.isupper()) print(strsq3.isupper()) False False True
islower()方法
描述
islower() 方法检测字符串是否由小写字母组成。
返回值
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False。
strsq1 = "Cc2" strsq2 = "cc2" strsq3 = "CC2" print(strsq1.islower()) False True False
istitle()方法
描述
istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
返回值
如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
strsq1 = "Cc2" strsq2 = "cc2" strsq3 = "CC2" print(strsq1.istitle()) print(strsq2.istitle()) print(strsq3.istitle()) True False False
isprintable()
判断是否为可打印字符串
strsq1 = "Cc2" strsq2 = "cc2" strsq3 = "CC2" print(strsq1.isprintable()) print(strsq2.isprintable()) print(strsq3.isprintable()) print(help(strsq3.isprintable())) True True True
isdecimal()方法
描述
Python isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
str.isdecimal()
返回值
如果字符串是否只包含十进制字符返回True,否则返回False。
strsq1 = u"this2009" strsq2 = u"23443434" print(strsq1.isdecimal()) print(strsq2.isdecimal()) False True
join()方法
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
str.join(sequence)
参数
- sequence -- 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
strsq1 = "Cc2" data = strsq1.join("ABC") print(data) ACc2BCc2C
rjust()方法
描述
描述
rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
str.rjust(width[, fillchar])
参数
- width -- 指定字符串长度。
- fillchar -- 填充字符,默认为空格。
参数
- width -- 指定填充指定字符后中字符串的总长度.
- fillchar -- 填充的字符,默认为空格。
返回值
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.rjust(50, "*")) print(cc_str1) *****************eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing
swapcase()方法
swapcase() 方法用于对字符串的大小写字母进行转换。
返回值
返回大小写字母转换后生成的新字符串。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric liu,19,18531054602,marketing" cc_str2 = "ERIC LIU,19,18531054602,MARKETING" print(cc_str.swapcase()) print(cc_str) print("*"*35) print(cc_str1.swapcase()) print(cc_str1) print("*"*35) ERIC lIU,19,18531054602,mARKETING eric Liu,19,18531054602,Marketing *********************************** ERIC LIU,19,18531054602,MARKETING eric liu,19,18531054602,marketing *********************************** eric liu,19,18531054602,marketing ERIC LIU,19,18531054602,MARKETING
ljust()方法
描述
描述
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
str.ljust(width[, fillchar])
参数
- width -- 指定字符串长度。
- fillchar -- 填充字符,默认为空格。
返回值
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.ljust(50, "*")) print(cc_str1) eric Liu,19,18531054602,Marketing***************** eric Liu,19,18531054602,Marketing
lower()方法
lower() 方法转换字符串中所有大写字符为小写。
返回值
返回将字符串中所有大写字符转换为小写后生成的字符串。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.lower()) # 大写变小写 print(cc_str1) eric liu,19,18531054602,marketing eric Liu,19,18531054602,Marketing
upper()方法
upper() 方法将字符串中的小写字母转为大写字母。
返回值
返回小写字母转为大写字母的字符串。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" cc_str2 = "ERIC LIU,19,18531054602,MARKETING" print(cc_str.upper()) print(cc_str1) print(cc_str1.lower()) print(cc_str2.lower()) ERIC LIU,19,18531054602,MARKETING eric Liu,19,18531054602,Marketing eric liu,19,18531054602,marketing eric liu,19,18531054602,marketing
title()方法
title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())。
返回值
返回"标题化"的字符串,就是说所有单词都是以大写开始。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.title()) print(cc_str1) Eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing
split()方法
split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
str.split(str="", num=string.count(str))
参数
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。
返回值
返回分割后的字符串列表。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.rsplit(" ,")) print(cc_str1) ['eric Liu,19,18531054602,Marketing'] eric Liu,19,18531054602,Marketing
strip()方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
str.strip([chars])
参数
- chars -- 移除字符串头尾指定的字符。
返回值
返回移除字符串头尾指定的字符生成的新字符串
cc_str = " eric Liu,19,18531054602,Marketing " cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.strip()) print(cc_str1) eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing
rstrip()方法
rstrip() 删除 string 字符串末尾的指定字符(默认为空格)
str.rstrip([chars])
参数
- chars -- 指定删除的字符(默认为空格)
返回值
返回删除 string 字符串末尾的指定字符后生成的新字符串。
cc_str = " eric Liu,19,18531054602,Marketing " cc_str1 = "eric Liu,19,18531054602,Marketing" cc_str2 = "eric Liu,19,18531054602,Marketing\t" cc_str3 = "eric Liu,19,18531054602,Marketing***" print(cc_str.rstrip()) print(cc_str1) print(cc_str2.rstrip()) print(cc_str3.rstrip("*")) eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing
lstrip()方法
lstrip() 方法用于截掉字符串左边的空格或指定字符。
str.lstrip([chars])
参数
- chars --指定截取的字符。
返回值
返回截掉字符串左边的空格或指定字符后生成的新字符串。
cc_str = " eric Liu,19,18531054602,Marketing " cc_str1 = "eric Liu,19,18531054602,Marketing" cc_str2 = "\t*\teric Liu,19,18531054602,Marketing\t*\t" cc_str3 = "***eric Liu,19,18531054602,Marketing***" print(cc_str.lstrip()) print(cc_str1) print(cc_str2.lstrip()) print(cc_str3.lstrip("*")) eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing * eric Liu,19,18531054602,Marketing * eric Liu,19,18531054602,Marketing***
replace()方法
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
str.replace(old, new[, max])
参数
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换old子字符串。
- max -- 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.replace("Liu", "ccc")) print(cc_str1) eric ccc,19,18531054602,Marketing eric Liu,19,18531054602,Marketing
translate()方法
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
translate()方法语法:
str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])
参数
- table -- 翻译表,翻译表是通过 maketrans()
方法转换而来。 - deletechars -- 字符串中要过滤的字符列表。
返回值
返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。
zfill()方法
zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
参数
- width -- 指定字符串的长度。原字符串右对齐,前面填充0。
返回值
返回指定长度的字符串。
cc_str = "eric Liu,19,18531054602,Marketing" cc_str1 = "eric Liu,19,18531054602,Marketing" print(cc_str.zfill(50)) print(cc_str1) 00000000000000000eric Liu,19,18531054602,Marketing eric Liu,19,18531054602,Marketing