golang|golang strings Replace 字符串替换
函数声明为:
func Replace(s, old, new string, n int) string
官方描述为:返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。
示例代码为,每行的结果见每行上面的注释部分:
func main() {
// non-overlapping: "123" repeat 6 times in s
s := "123lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l"
old := "123"
new := "888"fmt.Println("non-overlapping: ")
// n < 0 ,用 new 替换所有匹配上的 old;n=-1:888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla888l
fmt.Println("n=-1: ", strings.Replace(s, old, new, -1 ))// 不替换任何匹配的 old;n=0:123lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l
fmt.Println("n=0: ", strings.Replace(s, old, new, 0 )) // 用 new 替换第一个匹配的 old;n=1:888lafaldsjglad123lkfasdf123djfal123lkdjga123lksjfla123l
fmt.Println("n=1: ", strings.Replace(s, old, new, 1 ))// 用 new 替换前 5 个匹配的 old(实际多于 5 个);n=5:888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla123l
fmt.Println("n=5: ", strings.Replace(s, old, new, 5 )) // 用 new 替换前 7 个匹配上的 old(实际没那么多);n=7:888lafaldsjglad888lkfasdf888djfal888lkdjga888lksjfla888l
fmt.Println("n=7: ", strings.Replace(s, old, new, 7 )) // overlapping:
s = "888888888888888888"
old = "888"
new = "666"
fmt.Println("overlapping: ")// n < 0 ,用 new 替换所有匹配上的 old;n=-1:666666666666666666
fmt.Println("n=-1: ", strings.Replace(s, old, new, -1 )) // 不替换任何匹配的 old;n=0:888888888888888888
fmt.Println("n=0: ", strings.Replace(s, old, new, 0 )) // 用 new 替换第一个匹配的 old;n=1:666888888888888888
fmt.Println("n=1: ", strings.Replace(s, old, new, 1 )) // 用 new 替换前 5 个匹配的 old(实际多于 5 个);n=5:666666666666666888
fmt.Println("n=5: ", strings.Replace(s, old, new, 5 ))// 用 new 替换前 7 个匹配上的 old(实际没那么多);n=7:666666666666666666
fmt.Println("n=7: ", strings.Replace(s, old, new, 7 ))
}
【golang|golang strings Replace 字符串替换】
推荐阅读
- 三门问题(蒙提霍尔悖论)分析与Golang模拟
- golang锁竞争性能
- 基于rabbitmq实现的延时队列(golang版)
- 【golang】leetcode中级-字母异位词分组&无重复字符的最长子串
- 【golang】leetcode初级-有效的括号&缺失数字
- 使用Go|使用Go Module构建项目
- 批量insertOrUpdate或replace-into使用useGeneratedKeys报错简单分析
- golang声明一个map数组
- Golang使用快慢指针找不知长度链表的中间节点
- 【golang】leetcode初级-Fizz|【golang】leetcode初级-Fizz Buzz&计数质数