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 包的使用。


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

查看所有标签

猜你喜欢:

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

Where Wizards Stay Up Late

Where Wizards Stay Up Late

Katie Hafner / Simon & Schuster / 1998-1-21 / USD 16.00

Twenty five years ago, it didn't exist. Today, twenty million people worldwide are surfing the Net. "Where Wizards Stay Up Late" is the exciting story of the pioneers responsible for creating the most......一起来看看 《Where Wizards Stay Up Late》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具