String Manipulation,用python中的.replace语法替换单词

时间:2018-04-25 17:18:00

标签: python-3.x

用鼠标替换所有空格并显示新字符串。

输出:Imouselovemousethis

你不能在python中使用字符串方法,例如find,replace,count,split等...或列表

到目前为止我的代码:

var backgroundUrl = "";
switch(current) {
   case 'Snow':
      backgroundUrl = createBackgroundUrl("wall_snow.jpg");
      break;
   // ...

   default:
        // Else block
      break;
}

$("body").css("background-image", backgroundUrl)

这仅适用于某些输入...... 如果输入是: response_message = json.loads(json.dumps(response.text)) print(response_message)

输出是: string = input("Please enter a sentence: ") newString = string for i in range (len(newString)): if (newString[i+1] == " "): newString = newString [:i] + "mouse" + newString [i+1:] print (newString)

使输出后期出现空格的代码有什么问题?......我似乎无法弄明白 感谢

1 个答案:

答案 0 :(得分:0)

我不确定你为什么要使用切片和索引...这似乎是一个更简单的解决方案,只是迭代输入字符串,只是构造一个新的字符串

>>> b = "a e b c d e f g h e"
>>> return_string = str()
>>> for char in b:
...     if char == " ":
...         char = "mouse"
...     return_string += char
...     
>>> return_string
'amouseemousebmousecmousedmouseemousefmousegmousehmousee'

要回答关于代码有什么问题的问题,您的切片和索引是不正确的。第一个问题是你没有考虑到你在迭代它时变形你的newString,因此你迭代的索引不再匹配你正在修改的东西(因此你得到了垃圾)。 len()在修改之前给你一个计数。这是一个简单的例子

string = "a b c"

for i in range(len(string)):
    string += string
    print(string[i])

print(string)

outputs
a

b

c
a b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b ca b c

注意上面..循环只迭代原始字符串的len的次数。由于您要用5替换1个字符,因此您的索引不再匹配。然后,您将根据无效索引构建一个字符串。 还有更多的问题,但这是最大的问题。