Skip to main content
 首页 » 编程设计

python之如何使用 .replace() 函数将字符串的最后 4 个字符以外的所有字符更改为 # 符号

2025年05月04日17zhengyun_ustc

我正在尝试将字符串中除最后四个字符以外的所有字符更改为输出中的 # 符号。
这是我目前拥有的

>>> v 
'0123456789' 
>>> for ch in v: 
...     if ch in v: 
...             v = v.replace(ch, '#') 
... 
>>> print v 
########## 

如您所见,所有字符都被替换了。

我尝试过使用所有类型的索引切片方法,但似乎没有任何效果!我也试过...

>>> v = '0123456789' 
>>> for ch in v: 
...     if ch in v: 
...             v = v[0:-4].replace(ch, '#') + v[-3:] 
... 
>>> print v 
789 

但是,正如您在这里看到的,它摆脱了所有其他字符。
请帮忙。

请您参考如下方法:

Python 字符串是不可变的,所以像这样的东西应该可以工作。没有循环

>>> v = '0123456789' 
>>> '#'*(len(v) - 4)+v[-4:] 
'######6789' 

关于替换的事情是,如果你有 333333 并且你 replace('3', '#') 会怎么样?一切都变成了 #,对吧?