函数申明:

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. C++中结构体的各种用法,详细版

    C++中的结构体是一种用户自定义的数据类型,可以存储不同类型的数据成员.以下是一些结构体的常见用法: 1. 定义结构体类型 结构体类型的定义可以放在函数内部或外部,例如: ``` struct Per ...

  2. 在Ubuntu上安装MySQL

    在Ubuntu上安装MySQL sudo apt update sudo apt install mysql-server 安装完成后,MySQL服务将自动启动.要验证MySQL服务器正在运行,请输入 ...

  3. 队列(ArrayQueue)

    队列是一种 先进先出(First In First Out,FILO) 的种线性数据结构 . 代码是在动态数组二次封装,先阅读底层实现体验更佳 Array.h 点它 代码清单 #ifndef C___ ...

  4. 并发框架 LMAX Disruptor

    Introduction   Michael Barker edited this page on 2 Mar 2015 · 8 revisions The best way to understan ...

  5. OpenHarmony设备环境查询:Environment

      开发者如果需要应用程序运行的设备的环境参数,以此来作出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询. Environment是ArkUI框架在应用程序启动时创 ...

  6. OpenHarmony定义组件重用样式:@Styles装饰器

      如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器@Styles. @St ...

  7. C 多维数组、特殊字符和字符串函数详解

    C 多维数组 数组,也称为单维数组.这些非常棒,是您在 C 语言编程中会经常使用的东西.然而,如果您想要将数据存储为表格形式,例如带有行和列的表格,则需要熟悉多维数组. 二维数组 二维数组也称为矩阵, ...

  8. PDF库 libharu 简单操作

    libharu官网:http://libharu.org/ 直接下载下来编译就可以使用了(*:我下载的版本是:libharu-libharu-v2.4.3-0-g8dbcfe4.tar)   一.编译 ...

  9. Bash下切换conda环境

    背景:很多时候实验命令都是基于Linux系统的,但是很多人的电脑是window系统的. 使用git自带的Bash可以运行linux命令,不过有时候在bash中想使用conda环境的时候比较麻烦,具体做 ...

  10. HarmonyOS自动化测试框架—Hypium

    原文:https://mp.weixin.qq.com/s/nb5txfDcmGn_VZJXRPEYUQ,点击链接查看更多技术内容. 应用开发过程中,要确保应用的功能和界面能满足预期,往往需要通过测试 ...