根据字符串中每个符号的编码值筛选出最大/最小的符号
str_1 = 'abc123BE!!?'
print(max(str_1), min(str_1)) # c !
语法:str.replace(old, new, [max])
str = 'this is string example....wow!!! this is really string'
# 没有指定第三个参数,默认用new_str全部将old_str替换掉
print(str.replace('is', 'was'))
# 指定第三个参数3,代笔替换次数不能超过3次
print(str.replace('is', 'was', 3))
注意第二次打印结果:不超过3次
str_2 = ', a, b, c, d, e,'
# 用ner_str = '' 替换 old_str = ',' 没有第三参数默认全部替换
result = str_2.replace(',', '')
print(result) # a b c d e
# 替换次数不超过3次
result_1 = str_2.replace(',', '', 3)
print(result_1) # a b c, d, e,
格式:str.strip([char])
参数说明:str表示待处理的字符,char代表去除的原字符串首尾的字符
返回结果:去除空格时候的新字符串
将字符串头尾的空白符号(包含空格、制表符、换行等)去除头尾的空白符号,一次去除一个,直到判断到非空白符号为止。 ----> 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
str_1 = '0000sjsjkhj83g000skjdh00000'
# 去除首尾字符0
print(str_1.strip('0'))
str_2 = ' ljdd '
print(str_2.strip())
str_5 = ' abcde\t'
print(str_5)
result_2 = str_5.strip()
print(result_2)
# 用法二:指定去除xxx符号
result_3 = str_5.strip(' ')
print(result_3)
打印结果为
strip(头尾)
又可分为 rstrip(右侧、末尾)
和 lstrip(左侧、开头)
lstrip() 方法用于截掉字符串左边的空格或指定字符
语法:str.lstrip([chars]) ---> chars : 指定截取的字符。
返回值:返回截掉字符串左边的空格或指定字符后生成的新字符串。
str = " this is string example....wow!!! "
print(str.lstrip())
str = "88888888this is string example....wow!!!8888888"
print(str.lstrip('8'))
rstrip(): 删除 string 字符串末尾的指定字符,默认为空白符,包括空格、换行符、回车符、制表符。
语法:str.rstrip([chars]) ---> chars : 指定删除的字符(默认为空白符)
返回值:返回删除 string 字符串末尾的指定字符后生成的新字符串。
random_string = 'this is good '
# 字符串末尾的空格会被删除
print(random_string.rstrip())
# 'si oo' 不是尾随字符,因此不会删除任何内容
print(random_string.rstrip('si oo'))
# 在 'sid oo' 中 'd oo' 是尾随字符,'ood' 从字符串中删除
print(random_string.rstrip('sid oo'))
# 'm/' 是尾随字符,没有找到 '.' 号的尾随字符, 'm/' 从字符串中删除
website = 'www.runoob.com/'
print(website.rstrip('m/.'))
# 移除逗号(,)、点号(.)、字母 s、q 或 w,这几个都是尾随字符
txt = "banana,,,,,ssqqqww....."
x = txt.rstrip(",.qsw")
print(x)
# 删除尾随字符 *
str = "*****this is string example....wow!!!*****"
print (str.rstrip('*'))
print(x)
拆分字符串,通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
语法:str.split(str='', num)[n]
参数说明:
str=''
表示为分隔符,默认为空格,但是不能为空。
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]: 表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
(1)若字符串中没有分隔符,则把整个字符串作为列表的一个元素
str = 'say.hello.sweet,baby!'
print(str.split('')) # ['say.hello.sweet,baby!']
(2)以.
作为分隔符将字符串str分割0次、1次、2次
str = 'say.hello.sweet,baby!'
# 以'.'为分隔符
print(str.split('.')) # ['say', 'hello', 'sweet,,baby!']
# 分割0次
print(str.split('.', 0)) # ['say.hello.sweet,,baby!']
# 分割一次
print(str.split('.', 1)) # ['say', 'hello.sweet,,baby!']
# 分割两次
print(str.split('.', 2)) # ['say', 'hello', 'sweet,,baby!']
# 分割最多次(这里最多次等于分割两次)
print(str.split('.', -1)) # ['say', 'hello', 'sweet,,baby!']
(3)分割后利用切片获取元素
# 分割两次,并取序列为1的项
print(str.split('.', 2)[1]) # hello
# 分割两次,并把分割后的三个部分保存到三个文件
str_1, str_2, str_3 = str.split('.', 2)
print(str_1) # say
print(str_2) # hello
print(str_3) # sweet,,baby!
(4)去掉换行符:
str_2 = '''say
hello
sweet,,baby'''
print(str_2 .split('\n')) # ['say ', 'hello ', 'baby']
按照指定符号对字符串进行切割,切割点以外的元素分别作为列表中的一个元素;
如果切割点在字符串开头或末尾,列表中会出现空字符串
str_2 = ',a,b,c,d,e,'
str_list = str_2.split(',')
print(str_list) # ['', 'a', 'b', 'c', 'd', 'e', '']
语法:str.join(sequence) ---> sequence : 要连接的元素序列
join函数是split方法的逆方法,用来将列表(或元组或元组)中包含的多个字符串连接成一个新的字符串(按照指定分隔符将一个字符串容器中所有元素拼接起)
# (1)将列表中的字符串合并成一个字符串
str_list = ['', 'a', 'b', 'c', 'd', 'e', '']
print('+'.join(str_list) # +a+b+c+d+e+
print(''.join(str_list)) # abcde
# (2)将元组中的字符串合并成一个字符串
symbol = '-'
seq = ('a', 'b', 'c') # 字符串序列
print(symbol.join(seq)) # a-b-c
# (3)将字典中的键值对进行拼接
dict = {'a:1', 'b:2', 'c:3', 'd:4'}
print('-->'.join(dict)) # d:4-->a:1-->b:2-->c:3