所以,让我们说我有一个随机字符串" Mississippi"
我想要创建一个来自" Mississippi"的新字符串。但是替换了特定角色的所有非实例。
例如,如果我们使用字母" S"。在新的字符串中,我希望将所有S" MISSISSIPPI"并使用" _"替换所有其他字母。
我知道如何反过来:
word = "MISSISSIPPI"
word2 = word.replace("S", "_")
print(word2)
word2给了我MI__I__IPPI
但我无法弄清楚如何让word2成为__SS_SS ____
(经典的Hangman游戏)
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用str.maketrans()
和str.translate()
执行此操作,但使用正则表达式会更容易。诀窍是你需要以编程方式将有效字符串插入到正则表达式中:
import re
word = "MISSISSIPPI"
show = 'S' # augment as the game progresses
print(re.sub(r"[^{}]".format(show), "_", word))
答案 2 :(得分:0)
更简单的方法是在字符串中映射函数:
>>> ''.join(map(lambda w: '_' if w != 'S' else 'S', 'MISSISSIPPI'))
'__SS_SS____'