请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
1、思路:可利用正则实现。匹配字符串中的空格(只匹配一个所以是\s{1}),利用re.sub将匹配的空格,替换为相应的内容。
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
import re
pattern = re.compile(r'\s{1}')
after_str = re.sub(pattern, '%20', s)
return after_str
str = "We Are Happy."
s = Solution()
print(s.replaceSpace(str))
#替换后的字符串为:
#We%20%20Are%20Happy.
2、不用正则,可考虑用查找的思想。
思路:遍历字符串,遇到空格,则将其替换为'%20'
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
s = list(s)
count=len(s)
for i in range(0,count):
if s[i]==' ':
s[i]='%20'
return ''.join(s)
其他查找的思想:从前往后遍历,从后往前插入。