go基础库之替换部分字符串

栏目: Go · 发布时间: 6年前

内容简介:与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。

与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。

替换部分字符串

Golang 版本

1.12.1

前言

与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。

实现

  1. 创建文件 replace.go ,代码如下:

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    const refString = "Mary had a little lamb"
    const refStringTwo = "lamb lamb lamb lamb"
    
    func main() {
    	out := strings.Replace(refString, "lamb", "wolf", -1)
    	fmt.Println(out)
    
    	out = strings.Replace(refStringTwo, "lamb", "wolf", 2)
    	fmt.Println(out)
    }
    
    $ go run replace.go
    Mary had a little wolf
    wolf wolf lamb lamb
    
  2. 创建文件 replacer.go ,代码如下:

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    const refString = "Mary had a little lamb"
    
    func main() {
    	replacer := strings.NewReplacer("lamb", "wolf", "Mary", "Jack")
    	out := replacer.Replace(refString)
    	fmt.Println(out)
    }
    
    $ go run replacer.go
    Jack had a little wolf
    
  3. 创建文件 regexp.go ,代码如下:

    package main
    
    import (
    	"fmt"
    	"regexp"
    )
    
    const refString = "Mary had a little lamb"
    
    func main() {
    	regex := regexp.MustCompile("l[a-z]+")
    	out := regex.ReplaceAllString(refString, "replacement")
    	fmt.Println(out)
    }
    
    $  go run regexp.go
    Mary had a replacement replacement
    

原理

strings 包的 Replace 函数被广泛用于简单的替换。最后一个 integer 参数定义将执行多少次替换(在-1情况下,替换所有字符串。参见 Replace 的第二种用法,其中只替换前两种情况。)替换函数的使用在步骤1中给出。

除了 Replace 函数外, Replacer 结构体还具有 WriteString 方法。 此方法将写入给定的编写器,并在 Replacer 中定义所有替换。这种类型的主要目的是可重用性。它可以同时替换多个字符串,并发使用安全;参见步骤2。

替换子字符串甚至匹配模式的更复杂的方法自然是使用正则表达式。 可以利用 Regex 类型指针方法 ReplaceAllString 来实现此目的。 步骤3说明了 regexp 包的使用。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社交天性

社交天性

[美] 马修·利伯曼(Matthew D. Lieberman) / 贾拥民 / 浙江人民出版社 / 2016-6 / 69.90

[内容简介] ● 《社交天性》是社会心理学家马修·利伯曼解读人类“社会脑”的权威之作,它告诉我们为什么在充满合作与竞争的智慧社会中人们喜爱社交又相互连接,个人的社会影响力如何得以发挥,书中处处充满了令人惊喜的洞见。 ● 为什么有的人天生善于社交,而有的人总是充满障碍? 为什么智商越高的人越难相处? 心痛对人的伤害甚至超过头痛? 慈善组织如何激发人们的捐赠行为? ......一起来看看 《社交天性》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具