题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
分析
本题中需要我们将空格字符替换成"%20"的形式,那么我们首先需要注意的店便是:这是一个字符串,那么我们自然而然会去想到字符串的方法:
这里推荐去看脚本之家的Python 字符串操作方法大全
我也在这里总结一下,因为有些我也快忘了,画了一个简易版的思维导图:
虽然并没有总结全,但那么本题中我用到的方法就是画红框的部分。
思路一:直接replace替换
既然题目给的是字符串,那么我们可以用replace直接替换,replace的作用可以直接返回一个字符串,正好满足于要求:
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
return s.replace(" ","%20")
思路二:分割成列表,连接成字符串
因为字符串是不可变类型,那么我们想要在其本身通过添加或者赋值将某一部分改变都是行不通的,所以需要有一个中间件,这里有两种,一种是通过另一个空的字符串,原来的拆成单个字符后,可以用直接赋值的方式,加进新字符串里。另外一种就是通过列表来实现,split和join组合起来。
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
s1=""
for i in s:
if i==" ":
i="%20"
s1+=i
return s1
另外一种就是通过列表了:
class Solution:
# s 源字符串
def replaceSpace(self, s):
s = list(s)
for i in range(len(s)):
if s[i]==" ":
s[i]="%20"
return "".join(s)