首页 > 解决方案 > 如何在一个单词中显示前 3 个字母,但在 Python 3 中用“-”破折号替换单词的其余部分

问题描述

假设我有一个单词,我只想显示单词的前三个字母。但剩下的最后一个字母需要显示破折号或星号等。

例如,如果我们有单词javascript,那么输出应该显示jav-------pebbles应该显示为peb----,或者代替python,输出应该显示pyt---,等等。

在这种情况下会str.replace(old, new)或工作吗?str.replace(old, new, count)如果是,那么如何?

这是我做的一个例子:

>>> p = "kotlin"

>>> p = p.replace(p[3:], "-")

>>> p

'kot-'
>>> 

然而,所需的输出将显示kot---,尽管它确实显示了单词中的前 3 个字母,但kot-最后只显示了一个破折号。

有什么方法可以解决这个问题?

标签: pythonpython-3.xstringstr-replace

解决方案


您可以创建一个 for 循环,甚至可以使用 len(p) 检查有多少个字母,减去 3,然后将单词数放在前 3 个之后,

p = "kotlin"
p[:3]+"-"*(len(p)-3)

输出

"kot---"

推荐阅读