题目
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例
输入:s = “We are happy.”
输出:“We%20are%20happy.”
解析
循环遍历,判断为空格的时候,进行替换;
或者用正则匹配也行;
func replaceSpace(s string) string {
b := []byte(s) // 为了能用切片来处理这个字符串
res := make([]byte, 0)
for i:=0; i<len(s); i++ {
if b[i] == ' ' { //单引号表示golang中的rune(int32)类型,单引号里面是单个字符,不能用双引号,双引号是字符串,类型不匹配
// res = append(res, []byte("%20")...) //追加一个切片,和下面分别追加三个字符是一样的
res = append(res, '%')
res = append(res, '2')
res = append(res, '0')
// res = append(res, '%20') //但是这样是错的
} else {
res = append(res, b[i])
}
}
return string(res)
}