一、区别
序号 | 名称 | 描述 | 语法 |
---|---|---|---|
1 | strip | 用于移除字符串头尾指定的字符(默认为空格)或字符序列。 | str.strip([chars]); |
2 | split | 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。 | str.split(str="", num=string.count(str)) |
3 | replace | 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。 | str.replace(old, new[, max]) |
二、实例
1、strip

【1】 未指定字符串
oldStr = " Python 大星 GOOD! "
print("strip使用前:", len(oldStr))
# 生成新的字符串!生成新的字符串!生成新的字符串!
newStr = oldStr.strip()
print(newStr) # 指定字符串 *
print("strip使用后:", len(newStr))
输出结果:
strip使用前: 23
Python 大星 GOOD!
strip使用后: 15
【2】指定字符--不起作用
oldStr = " ***Python 大星*** GOOD!*** "
print("strip使用前:", len(oldStr))
# 生成新的字符串!生成新的字符串!生成新的字符串!
newStr = oldStr.strip('*')
print(newStr) # 指定字符串 *
print("strip使用后:", len(newStr))
输出结果:
strip使用前: 32
***Python 大星*** GOOD!***
strip使用后: 32
【3】指定字符--起作用
oldStr = " ***Python 大星*** GOOD!***"
print("strip使用前:", len(oldStr))
# 生成新的字符串!生成新的字符串!生成新的字符串!
newStr = oldStr.strip('*')
print(newStr) # 指定字符串 *
print("strip使用后:", len(newStr))
输出结果:
strip使用前: 26
***Python 大星*** GOOD!
strip使用后: 23
【4】衍生函数
衍生函数右边去除--s.rtrip()
衍生函数左边去除--s.ltrip()
oldStr = "***Python 大星*** GOOD!****"
print("strip使用前:", len(oldStr))
# 生成新的字符串!生成新的字符串!生成新的字符串!
lStr = oldStr.lstrip('*')
rStr = oldStr.rstrip('*')
print("lStr = ", lStr) # 指定字符串 *
print("rStr = ", rStr) # 指定字符串 *
print("lstrip使用后:", len(lStr))
print("rstrip使用后:", len(rStr))
输出结果:
strip使用前: 25
lStr = Python 大星*** GOOD!****
rStr = ***Python 大星*** GOOD!
lstrip使用后: 22
rstrip使用后: 21
2、split

【1】无参数
raw = " Python 大星 GOOD! \n 12 \t 23 "
# 生成新的列表!生成新的列表!生成新的列表!
print(raw.split())
输出结果:
['Python', '大星', 'GOOD!', '12', '23']
【2】1个参数
raw = "**Python 大星**GOOD!**"
print(raw.split('**'))
raw2 = "守护**Python 大星**GOOD!**护守"
print(raw2.split('*'))
输出结果:
['', 'Python 大星', 'GOOD!', '']
['守护', '', 'Python 大星', '', 'GOOD!', '', '护守']
?
原来python编译严格按照划分,默认字符左右两侧都有字符,没有的表示空格
【3】2个参数
raw2 = "守护**Python 大星**GOOD!**护守"
# 正常分割
print(raw2.split('**', -1))
# 不分割
print(raw2.split('**', 0))
# 分割一次,成2部分
print(raw2.split('**', 1))
# 分割两次,成3部分
print(raw2.split('**', 2))
# 分割三次,成4部分
print(raw2.split('**', 3))
# 分割四次,极限了
print(raw2.split('**', 4))
输出结果:
['守护', 'Python 大星', 'GOOD!', '护守']
['守护**Python 大星**GOOD!**护守']
['守护', 'Python 大星**GOOD!**护守']
['守护', 'Python 大星', 'GOOD!**护守']
['守护', 'Python 大星', 'GOOD!', '护守']
['守护', 'Python 大星', 'GOOD!', '护守']
3、replace

1、2个参数
raw = "hello world world world"
print("原生字符串:", raw)
# 生成新的字符串!生成新的字符串!生成新的字符串!
newStr = raw.replace('world', 'Python大星')
print("新的字符串:", newStr)
输出结果:
原生字符串: hello world world world
新的字符串: hello Python大星 Python大星 Python大星
2、3个参数
raw = "hello world world world"
print("原生字符串:", raw)
# 生成新的字符串!生成新的字符串!生成新的字符串!
# 替换次数 <= 2
newStr = raw.replace('world', 'Python大星', 2)
print("新的字符串:", newStr)
输出结果:
原生字符串: hello world world world
新的字符串: hello Python大星 Python大星 world
网友评论