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

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

内容简介:与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。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 包的使用。


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

查看所有标签

猜你喜欢:

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

计算机科学概论(第12版)

计算机科学概论(第12版)

[美] J.Glenn Brookshear、[美] Dennis Brylow / 刘艺、吴英、毛倩倩 / 人民邮电出版社 / 2017-1 / 69.00

《计算机科学概论》是计算机科学概论课程的经典教材,全书对计算机科学做了百科全书式的精彩阐述,充分展现了计算机科学的历史背景、发展历程和新的技术趋势。《计算机科学概论》首先介绍的是信息编码及计算机体系结构的基本原理,进而讲述操作系统和组网及因特网,接着探讨算法、程序设计语言及软件工程,然后讨论数据抽象和数据库方面的问题,讲述图形学的一些主要应用以及人工智能,以计算理论的介绍结束全书。《计算机科学概论......一起来看看 《计算机科学概论(第12版)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具