七叶笔记 » golang编程 » golang面试题5之字符串替换问题

golang面试题5之字符串替换问题

1、问题描述

请编写⼀个⽅法,将字符串中的空格全部替换为“%20”。 假定该字符串有⾜够的空间存

放新增的字符,并且知道字符串的真实⻓度(⼩于等于1000),同时保证字符串由【⼤⼩

写的英⽂字⺟组成】。 给定⼀个string为原始的串,返回替换后的string。

2、解题思路

两个问题,第⼀个是只能是英⽂字⺟,第⼆个是替换空格。

3、源码参考

 package main
import (
"unicode"
"strings"
"fmt"
)
func main() {
s := "a B skC "
r, _ := replaceBlank(s)
fmt.Printf("--->%v", r)
}
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
}

  

相关文章