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

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

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


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

查看所有标签

猜你喜欢:

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

ODPS权威指南

ODPS权威指南

李妹芳 / 人民邮电出版社 / 2014-12 / 69元

ODPS(Open Data Processing Service)是阿里巴巴自主研发的海量数据处理和分析的服务平台,主要应用于数据分析、海量数据统计、数据挖掘、机器学习和商业智能等领域。目前,ODPS不仅在阿里内部得到广泛应用,享有很好的口碑,正逐步走向第三方开放市场。 本书是学习和掌握ODPS的权威指南,作者来自阿里ODPS团队。全书共13章,主要内容包括:ODPS入门、整体架构、数据通......一起来看看 《ODPS权威指南》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

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

HEX HSV 互换工具