内容简介:与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。
与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。
替换部分字符串
Golang 版本
1.12.1
前言
与字符串处理相关的另一个非常常见的任务是替换字符串中的子字符串。Go标准库提供了一次替换多个字符串的 Replace功能和Replacer类型。
实现
-
创建文件
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
-
创建文件
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
-
创建文件
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
包的使用。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Go语言中有关字符串替换函数的介绍
- SQL Server中利用正则表达式替换字符串的方法
- 使用sed和awk查找和替换字符串处理Makefile文件(三)
- CSS 基础:块级元素、行内元素、替换元素、非替换元素
- Vim 中怎么将目标字符替换成新行以及如何替换换行符
- PowerShell正则替换实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Coding the Matrix
Philip N. Klein / Newtonian Press / 2013-7-26 / $35.00
An engaging introduction to vectors and matrices and the algorithms that operate on them, intended for the student who knows how to program. Mathematical concepts and computational problems are motiva......一起来看看 《Coding the Matrix》 这本书的介绍吧!