1.题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
2.思路
1.这里我用的是之前写c++的思路,将这个字符串从后往前遍历,如果有空格就:new_s="%20"+new_s
2.其实在python的字符串内置函数中有replace这个函数
3.实现
def replaceSpace(self, s):
# write code here
#return s.replace(" ","%20")
new_s=""
for i in range(len(s)-1,-1,-1):
if s[i]==" ":
new_s="%20"+new_s
else:
new_s=s[i]+new_s
return new_s
4.相关知识点
def replaceSpace(s):
return s.replace(" ","%20")
if __name__ == '__main__':
"""python中字符串的切片操作"""
var1 = 'Hello World!'
var2 = "Python Runoob"
print("var1[0]: ", var1[0])
print("var2[1:5]: ", var2[1:5])
#字符串更新
print("更新字符串 :", var1[:6] + 'Runoob!')
#字符串的格式化输出
print("My name is %s and weight is %d kg!" % ('Zara', 21) )
#python中三引号可以将复杂的字符串进行复制
#转换成(所见即所得)格式的。
#一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,
# 使用传统的转义字符体系将十分费神
errHTML = '''
Friends CGI Demo
ERROR
%s
'''
"""内置函数"""
# string.find(str, beg=0, end=len(string))
# 检测str是否包含在string中,如果beg和end
# 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 - 1
#string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
s="i am a boy"
new_s=""
for i in range (len(s)-1,-1,-1):
if s[i]==" ":
new_s="%20"+new_s
else:
new_s=s[i]+new_s
print("new_s:",new_s)
print("space:",replaceSpace(s))