除第一个字符外的 Python 字符串替换

标签 python string

编写一个函数,将字符串第一个字母的每个重复字符替换为 * 除了第一个字母本身 - 是否有比这更 pythonic/优雅的方法(列表等?)?

def specialreplace(s):
    firstchar = s[0]
    modifiedstr = s[1:].replace(firstchar, "*")
    print firstchar + modifiedstr

specialreplace('oompaloompa') ---> o*mpal**mpa

最佳答案

这是一个简单的问题,我不确定你为什么要把它复杂化。您的解决方案看起来不错,但您应该使用 .join() 而不是 '+' 来将字符串连接在一起。

"".join((s[0], s[1:].replace(s[0], "*"))

关于除第一个字符外的 Python 字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30740827/

相关文章:

python - 你如何快速基准测试脚本

string - 没有重复字符的最长子字符串出现边缘情况

java - 将多维 Java 数组转换为字符串矩阵?

javascript - 用于匹配样式标签的正则表达式

php - 发送邮件会在 "to:"电子邮件列表中的第 995 个字符处插入一个随机空格

linux - 如何在 linux shell 中的 for ... in ... 语句中使用字符串作为参数

python - 从工具导入任务,ImportError : cannot import name tasks

python - Python 中 Kruskal-Wallis 检验的输入格式

python - python 中的子进程错误

javascript - NodeJS 和 Python-Shell .run 函数不打印 STDOUT