函数申明:

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 中 strings 包的 Replace 用法介绍笔记的更多相关文章

  1. 19-03【golang】strings包

    golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串   Contains(s, substr stri ...

  2. Spring Data JPA系列3:JPA项目中核心场景与进阶用法介绍

    大家好,又见面了. 到这里呢,已经是本SpringData JPA系列文档的第三篇了,先来回顾下前面两篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring ...

  3. Golang学习 - strings 包

    ------------------------------------------------------------ strings 包与 bytes 包中的函数用法基本一样,不再赘述. 只对 R ...

  4. golang 中 sync包的 WaitGroup

    golang 中的 sync 包有一个很有用的功能,就是 WaitGroup 先说说 WaitGroup 的用途:它能够一直等到所有的 goroutine 执行完成,并且阻塞主线程的执行,直到所有的 ...

  5. golang中time包日期时间常用用法

    package main import ( "fmt" "reflect" "time" ) var week time.Duration ...

  6. golang 中strconv包用法

    链接:https://studygolang.com/articles/5003 http://www.cnblogs.com/golove/p/3262925.html

  7. java中的包以及内部类的介绍

    1:形式参数和返回值的问题(理解)    (1)形式参数:        类名:需要该类的对象        抽象类名:需要该类的子类对象        接口名:需要该接口的实现类对象    (2)返 ...

  8. Go_21: Golang 中 time 包的使用二

    常量声明: const TimeLayout = "2006-01-02 15:04:05" 这是个奇葩,必须是这个时间点,据说是 go 诞生之日, 记忆方法:6-1-2-3-4- ...

  9. Golang之strings包

    只列举了部分函数方法的使用: 太多了....... package main import ( "fmt" "strings" ) func main() { ...

  10. Go_20: Golang 中 time 包的使用

    time包中包括两类时间:时间点(某一时刻)和时常(某一段时间) 1. 时间常量(时间格式化) const ( ANSIC = "Mon Jan _2 15:04:05 2006" ...

随机推荐

  1. Kingbase Create Type 语句使用

    Kingbase create type类型创建语句 说明: KingbaseES 数据库中,可以通过CREATE TYPE语句定义一种新的数据类型. 有八种形式的CREATE TYPE.它们分别创建 ...

  2. [apue] 作为 daemon 启动, Unix Domain Socket 侦听失败?

    前段时间写一个传递文件句柄的小 demo,有 server 端.有 client 端,之间通过 Unix Domain Socket 通讯. 在普通模式下,双方可以正常建立连接,当server端作为d ...

  3. AtCoder Beginner Contest 347

    AT link Problem A and B 略. Problem C 按照模 \(a + b\) 分类,记录最大值和最小值,如果差值小于等于假期时间即可,否则还需要判断按照 \(d_i = D_i ...

  4. Notion笔记汉化

    Notion笔记汉化 参考:https://github.com/Reamd7/notion-zh_CN 关注我的订阅号[靠谱杨阅读人生]回复[Notion]获取中文包 1.进入notion的安装路径 ...

  5. Python---flask框架实现修改密码功能

    数据库部分: 1 #重置密码 2 def reset_pass(phone,password): 3 conn,cursor=get_conn() 4 sql="update userdat ...

  6. #dp or 贪心+堆#CF704B Ant Man

    题目 分析(dp) 考虑到对于一个排列单独抽出 \(1\sim i\) 可能会分成若干段,而贡献一定是固定的,不会影响之后的选择. 首先 \(a,c\) 加上 \(x\),\(b,d\) 减去 \(x ...

  7. #轻重链剖分,交互#LOJ 6669 Nauuo and Binary Tree

    题目 有一棵大小为\(n\)只知道根节点为1的二叉树, 可以不超过\(3*10^4\)询问两点之间距离, 最后输出除了点1以外其余点的祖先 \(n\leq 3000\) 分析 \(O(n^2)\)的时 ...

  8. 深入浅出 C 语言:学变量、掌控流程、玩指针,全方位掌握 C 编程技能

    C 语言简介 C 语言介绍 C 语言的特性 C 语言相对于其他语言的优势 C 程序的编译 C 中的 Hello World 程序 参考文章: C 语言入门:如何编写 Hello World C 语言函 ...

  9. 房屋设计H51图纸

  10. 如何用一行 CSS 实现 10 种现代布局

    现代 CSS 布局使开发人员只需按几下键就可以编写十分有意义且强大的样式规则.上面的讨论和接下来的帖文研究了 10 种强大的 CSS 布局,它们实现了一些非凡的工作. 01. 超级居中:place-i ...