《零基础Go语言算法实战》
【题目 1-14】字符串的替换
请编写一个函数,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存
放新增的字符,并且知道字符串的真实长度(≤ 1000),同时保证字符串由大小写的英文字
母组成。给定一个字符串为原始串,返回替换后的字符串。
【解答】
① 思路。
本题可以使用 Go 语言内置函数 unicode.IsLetter() 来判断字符是否为字母,之后使用
strings.Replace() 函数来替换空格。
② Go 语言实现。
package main
import (
"strings"
16
第1章 Go语言入门
"unicode"
)
func replaceBlank(s string) (string, bool) {
if len([]rune(s)) > 1000 {
return s, false
}
for _, v := range s {
if string(v) != " " && unicode.IsLetter(v) == false {
return s, false
}
}
return strings.Replace(s, " ", "%20", -1), true
}