文章目录
- 查
- find
- index
- count
- 改
- replace
- upper
- lower
- swapcase
- casefold
- strip
- rstrip
- lstrip
- split
- rsplit
- capitalize
- encode和decode
- 格式化和填充
- format
- ljust
- rjust
- join
- format_map
- 判断
- isdigit
- startswith
- endswith
- islower
- isspace
- isupper
查
find
描述
检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
语法
str.find(str, beg=0, end=len(string))
参数
- str – 指定检索的字符串
- beg – 开始索引,默认为0。
- end – 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则返回-1。
实例
str1 = "this is string example....wow!!!"
str2 = "exam"
print(str1.find(str2)) # 15
print(str1.find(str2, 10)) # 15
print(str1.find(str2, 40)) # -1
index
描述
Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法
str.index(str, beg=0, end=len(string))
参数:
- str – 指定检索的字符串
- beg – 开始索引,默认为0。
- end – 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
实例
str1 = "this is string example....wow!!!"
str2 = "exam"
print(str1.index(str2)) # 15
print(str1.index(str2, 10)) # 15
print(str1.index(str2, 40)) # 报异常
count
描述
Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
语法
str.count(sub, start= 0,end=len(string))
参数
- sub – 搜索的子字符串
- start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
- end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
返回值
该方法返回子字符串在字符串中出现的次数。
实例
test_str = "this is string example....wow!!!"
sub = "i"
print(test_str.count(sub)) # 3
print(test_str.count(sub, 4)) # 2
print(test_str.count(sub, 4, 12)) # 1 顾头不顾尾,结束真正位置是end-1
改
replace
描述
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法
str.replace(old, new[, max])
参数
- old – 将被替换的子字符串。
- new – 新字符串,用于替换old子字符串。
- max – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
实例
str = "www.w3cschool.cc"
print("菜鸟教程旧地址:", str) # 菜鸟教程旧地址: www.w3cschool.cc
print("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com"))
# 菜鸟教程新地址: www.runoob.com
str = "this is string is is example....wow!!!"
print(str.replace("is", "was", 3))
# thwas was string was is example....wow!!!
upper
描述
Python upper() 方法将字符串中的小写字母转为大写字母。
语法
str.upper()
返回值
返回小写字母转为大写字母的字符串。
实例
str = "this is string example from runoob....wow!!!";
print ("str.upper() : ", str.upper())
# str.upper() : THIS IS STRING EXAMPLE FROM RUNOOB....WOW!!!
lower
描述
Python lower() 方法转换字符串中所有大写字符为小写。
语法
str.lower()
返回值
返回将字符串中所有大写字符转换为小写后生成的字符串。
实例
str = "Runoob EXAMPLE....WOW!!!"
print( str.lower() ) # runoob example....wow!!!
swapcase
描述
swapcase() 方法用于对字符串的大小写字母进行转换。
语法
str.swapcase();
返回值
返回大小写字母转换后生成的新字符串。
实例
str = "this is string example....wow!!!"
print (str.swapcase())
# THIS IS STRING EXAMPLE....WOW!!!
str = "This Is String Example....WOW!!!"
print (str.swapcase())
# tHIS iS sTRING eXAMPLE....wow!!!
casefold
- 跟lower的用法一样
strip
描述
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
语法
str.strip([chars]);
参数
- chars – 移除字符串头尾指定的字符序列。
返回值
返回移除字符串头尾指定的字符序列生成的新字符串。
实例
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' )) # this is **string** example....wow!!!
print(str.strip()) # 移除字符串左右两边的字符串
rstrip
- 移除字符串末尾的空格或者指定的字符串,用法同strip()
lstrip
- 截掉字符串左边的空格或指定字符,用法同strip()
split
描述
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。
语法
str.split(str="", num=string.count(str))
参数
- str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num – 分割次数。默认为 -1, 即分隔所有。
返回值
返回分割后的字符串列表list。
实例
str = "this is string example....wow!!!"
print (str.split( )) # 以空格为分隔符
# ['this', 'is', 'string', 'example....wow!!!']
print (str.split('i',1)) # 以 i 为分隔符
# ['th', 's is string example....wow!!!']
print (str.split('w')) # 以 w 为分隔符
# ['this is string example....', 'o', '!!!']
以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。
txt = "Google#Runoob#Taobao#Facebook"
# 第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
print(x)
rsplit
- 用法和split一样,只不过是从右往左寻找
capitalize
描述
Python capitalize()将字符串的第一个字母变成大写,其他字母变小写。
语法
str.capitalize()
encode和decode
描述
encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
语法
str.encode(encoding='UTF-8',errors='strict')
参数
- encoding – 要使用的编码,如: UTF-8。
- errors – 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。
返回值
该方法返回编码后的字符串,它是一个 bytes 对象。
实例
str = "菜鸟教程";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
print(str)
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
print("UTF-8 解码:", str_utf8.decode('UTF-8','strict'))
print("GBK 解码:", str_gbk.decode('GBK','strict'))
输出:
菜鸟教程
UTF-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'
GBK 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc'
UTF-8 解码: 菜鸟教程
GBK 解码: 菜鸟教程
格式化和填充
format
print("你是{0}{1}".format('我的', '菇凉'))
ljust
描述
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
语法
str.ljust(width[, fillchar])
参数
- width – 指定字符串长度。
- fillchar – 填充字符,默认为空格。
返回值
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
实例
str = "Runoob example....wow!!!"
print (str.ljust(50, '*')) # Runoob example....wow!!!**************************
rjust
跟ljust用法相反
str = "this is string example....wow!!!"
print (str.rjust(50, '*')) # ******************this is string example....wow!!!
join
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法
str.join(sequence)
参数
- sequence – 要连接的元素序列。(iterable对象)
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
实例
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq )) # r-u-n-o-o-b
print (s2.join( seq )) # runoob
format_map
描述
类似 str.format(*args, **kwargs) ,不同的是 mapping 是一个字典对象。
语法
str.format_map(mapping)
参数
- mapping 是一个字典对象
返回值
针对字典类型的格式化后的新的对象
实例
People = {"name": "john", "age": 33}
print("My name is {name},iam{age} old".format_map(People)) # My name is john,iam33 old
判断
isdigit
描述
Python isdigit() 方法检测字符串是否只由数字组成。
语法
str.isdigit()
参数
- 无。
返回值
如果字符串只包含数字则返回 True 否则返回 False。
实例
str = "123456";
print (str.isdigit()) # true
str = "Runoob example....wow!!!"
print (str.isdigit()) # false
startswith
描述
startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查
语法
str.startswith(substr, beg=0,end=len(string));
参数
- str – 检测的字符串。
- substr – 指定的子字符串。
- strbeg – 可选参数用于设置字符串检测的起始位置。
- strend – 可选参数用于设置字符串检测的结束位置
返回值
如果检测到字符串则返回True,否则返回False。
实例
str = "this is string example....wow!!!"
print(str.startswith('this')) # 字符串是否以 this 开头
#True
print(str.startswith('string', 8)) # 从第九个字符开始的字符串是否以 string 开头
# True
print(str.startswith('this', 2, 4)) # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头
# False
endswith
描述
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。
语法
str.endswith(suffix[, start[, end]])
参数
- suffix – 该参数可以是一个字符串或者是一个元素。
- start – 字符串中的开始位置。
- end – 字符中结束位置。
返回值
如果字符串含有指定的后缀返回 True,否则返回 False。
实例
Str='Runoob example....wow!!!'
suffix='!!'
print (Str.endswith(suffix)) # True
print (Str.endswith(suffix,20)) # True
suffix='run'
print (Str.endswith(suffix)) # False
print (Str.endswith(suffix, 0, 19)) # False
islower
描述
islower() 方法检测字符串是否由小写字母组成。
isspace
描述
Python isspace() 方法检测字符串是否只由空白字符组成。
isupper
描述
isupper() 方法检测字符串中所有的字母是否都为大写。