python 字符串中替换字符

本文通过一个具体的编程实例,详细解析了在Python中如何高效地进行字符串的替换操作,对比了循环替换与内置replace方法的效率,并强调了字符串不可变性的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天本来打算写个程序,替换字符串中固定的一个字符:将<全部替换成回车'\n'

于是,我写成这样

s='sdjj<ddd<denj,>'

for x in s:

  if x=='<':

     x='\n'

print(s)

然后输出还是

'sdjj<ddd<denj,>'

然后我就很纳闷,于是乎我又写成了这样

s='sdjj<ddd<denj,>'
ss=list(s)
for x in ss:

  if x=='<':

     x='\n'

print(ss)

然后输出了

['s', 'd', 'j', 'j', '<', 'd', 'd', 'd', '<', 'd', 'e', 'n', 'j', ',', '>']

我总结了一下,应该是x是临时变量所以会这样,所以改成以下

s='sdjj<ddd<denj,>'
ss=list(s)
for x in range(len(ss)):

  if ss[x]=='<':

     ss[x]='\n'
s=''.join(ss)

print(s)

输出是:

  sdjj

ddd
denj,>

结果已经对了,但是写的很麻烦,后来找到了一个更简洁的方式:

s='sdjj<ddd<denj,>'
ss=s.replace('<','\n')

print(ss)

一句话搞定,输出也正确,又深刻的体会了一把,人生苦短,我用python,哈哈

 

注:这里有一点需要注意:s还是保持不变的,只有ss是我们想要的结果

输出s:sdjj<ddd<denj,>

输出ss:

sdjj
ddd
denj,>

 

注:还有string的其他函数,逻辑一样,生成的新字符串必须赋值到新的变量,老字符串保持不变,我今天又掉坑里了

 

 
 

转载于:https://www.cnblogs.com/mghhzAnne/p/10025682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值