python全栈开发《25.字符串的replace函数》

1.补充说明上文

python全栈开发《24.字符串的strip函数》

1)补充:

info_01 = 'my name is xiaobian'
new_info_01 = info_01.strip(info_01)
print(new_info_01)
print(len(new_info_01))

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/1.py 

0

进程已结束,退出代码为 0

看代码:new_info_01 = info_01.strip(info_01)。通过把整个字符串都放进去,最终的结果就是把整个字符串抹掉了。

生成的新的字符串赋值给new_info_01。因为生成的新的字符串是已经被清空的,所以长度是0。

2)补充:

如果传入的元素既在字符串的开头又在结尾,那么都会被去掉。

new_str = 'abcdea'
print(new_str.strip('a'))

运行结果: bcde

2.replace的功能

  • 1)将字符串中的old(旧元素)替换成new(新元素),并能指定替换的数量。

3.replace的用法

dcfd1ceea416cd48aa74a34ca6c5961b.png

通过replace函数生成一个新的字符串,并且将它赋值给新的变量newstr。

print('hello,dewei'.replace('dewei','xiaobian'))

print('hello,xiaobian'.replace('l','0',1))

运行结果:

hello,xiaobian
he0lo,xiaobian

4.代码

注意: 每行都是一个完整的字符串。左右各有引号包裹,并且它分多行,但是这一大串字符串,用一个括弧将它包裹起来了,实际上这就是代表它们是一个字符串。

之前学过,如果非常长的字符串,会用三引号''' '''的形式将它们括在一起。如果我们不使用三引号的形式,也可以通过这种方式:

info = ('要从小白到一个有经验的开发者,无论是通过视频还是文字教程学习,你会发现很'
        '少有初级课程就非常贴近实际工作的,作为一个刚入坑的小白通常并不知道需要学'
        '习什么,往往是自认为入门的时候都学习了,到了公司里才发现很多都不会。'
        '我希望做这样一个课程,虽是入门课程,但涉及相关领域的多处知识,让小白在学'
        '习后进入公司岗位不会因为没听过而蒙圈;同时希望这个课也可以帮助非Python工'
        '程师快速转型或者快速转职能')

每行固定一个长度的字符串,将它们引起来,然后分成多行,并且将这些行的字符串左右用括弧扩起来。这也是一个定义超长字符串的方法。

# coding:utf-8

info = ('要从小白到一个有经验的开发者,无论是通过视频还是文字教程学习,你会发现很'
        '少有初级课程就非常贴近实际工作的,作为一个刚入坑的小白通常并不知道需要学'
        '习什么,往往是自认为入门的时候都学习了,到了公司里才发现很多都不会。'
        '我希望做这样一个课程,虽是入门课程,但涉及相关领域的多处知识,让小白在学'
        '习后进入公司岗位不会因为没听过而蒙圈;同时希望这个课也可以帮助非Python工'
        '程师快速转型或者快速转职能')

a = '小白'
b = '一个'
c = '蒙圈'
d = '课程'
e = '*'
f = '0'
g = '$'
o = '@'

test = info.replace(a,e).replace(b,f).replace(c,g).replace(d,o)
print(test)

# test = info.replace(a,e)
# print(test)
# test = test.replace(b,f)
# print(test)
# test = test.replace(c,g)
# test = test.replace(d,o)
# print(test)

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/replace.py 
要从*到0有经验的开发者,无论是通过视频还是文字教程学习,你会发现很少有初级@就非常贴近实际工作的,作为0刚入坑的*通常并不知道需要学习什么,往往是自认为入门的时候都学习了,到了公司里才发现很多都不会。我希望做这样0@,虽是入门@,但涉及相关领域的多处知识,让*在学习后进入公司岗位不会因为没听过而$;同时希望这个课也可以帮助非Python工程师快速转型或者快速转职能

进程已结束,退出代码为 0

敏感词:假设小白 一个 蒙圈 课程是敏感词。

一个字符串中要被替代多个敏感词,就要定义多次的replace,用起来很费劲。在真实的工作中,敏感词可能会非常多。这样一个一个定义下来,性能上不够好,书写上不够美观。

replace提供了一种非常方便的链式操作:通过将它们书写到一行,可以直接得打印出来。

info.replace(a,e)返回生成的是一个字符串。在字符串赋值给一个变量之前,它依然是一个字符串。所以字符串依然可以调用它的内置函数。

通过.replace(b,f),依然可以实现新的replace函数的调用。

它处理的其实就是第一个info.replace(a,e)返回的新的字符串。

再往后的replace替换的就是前面新生的字符串。以此类推。通过这种方式依然可以达到想要的效果。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值