在字符串中逐个字符,并使用python交换空格

use*_*472 5 python string whitespace

好的,所以我必须切换''到*s.我想出了以下内容

def characterSwitch(ch,ca1,ca2,start = 0, end = len(ch)):
    while start < end:
        if ch[start] == ca1:
            ch[end] == ca2
        start = start + 1
sentence = "Ceci est une toute petite phrase."
print characterSwitch(sentence, ' ', '*')
print characterSwitch(sentence, ' ', '*', 8, 12)
print characterSwitch(sentence, ' ', '*', 12)
print characterSwitch(sentence, ' ', '*', end = 12)
Run Code Online (Sandbox Code Playgroud)

分配len(ch)似乎不起作用,而且我很确定这不是最有效的方法.以下是我的目标输出:

Ceci*est*une*toute*petite*phrase.
Ceci est*une*toute petite phrase.
Ceci est une*toute*petite*phrase.
Ceci*est*une*toute petite phrase.
Run Code Online (Sandbox Code Playgroud)

Jan*_*Jan 4

你在找吗replace()

sentence = "Ceci est une toute petite phrase."
sentence = sentence.replace(' ', '*')
print sentence
# Ceci*sest*sune*stoute*spetite*sphrase.
Run Code Online (Sandbox Code Playgroud)

另请参阅ideone.com 上的演示

对于第二个要求(仅替换第 8 个到第 12 个字符),您可以执行以下操作:

sentence = sentence[8:12].replace(' ', '*')
Run Code Online (Sandbox Code Playgroud)