Go语言去除指定规则字符串

Go语言去除指定规则字符串教程

在开发过程中,有时候我们需要去除一个 字符串 中符合指定规则字符串,在 Go 语言 中,去除字符串中符合指定规则字符串的 函数 为 TrimFunc() 。

TrimFunc()函数

语法

func TrimFunc(s string, f func(rune) bool) string

参数

参数 描述
s 原字符串。
f 需要去除的字符串的规则函数。

返回值

去除指定字符串后的字符串。

说明

将字符串 s 左右两边的符合 匿名函数 f 规则字符串去除后返回。匿名函数 f,接受一个 rune 类型的参数,返回一个 bool 类型的 变量,如果函数 f 返回 true,那说明符合规则,字符将被移除。

案例

去除字符串的中指定规则字符串

使用 TrimFunc() 函数,去除字符串的中指定规则字符串

package main import ( "fmt" "strings" ) func TrimRule(r rune)bool{ if r == 'H' || r == 'a'{ return true } return false } func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 TrimFunc() 函数,去除字符串的中指定规则字符串 strHaiCoder := "HaiCoder 嗨客网 Ha" TrimFuncStr := strings.TrimFunc(strHaiCoder, TrimRule) fmt.Println("TrimFuncStr =", TrimFuncStr) }

程序运行后,控制台输出如下:

62 golang去除字符串指定规则的字符串.png

首先,我们定义了一个字符串类型的 变量 strHaicoder,并且赋值为左右带指定规则字符串的字符串,即 Ha,接着我们使用字符串的 TrimFunc() 函数去除变量 strHaicoder 中符合规则 TrimRule 的字符串,并使用 print() 函数打印最终结果。

这里,我们指定的 TrimRule 规则是,如果字符是 H 或者 a,则移除。最后,我们发现,字符串的左边和右边的 H 和 a 都已经被移除了。

字符串中间包含中指定规则字符串

使用 TrimFunc() 函数,不能去除字符串中间包含中指定规则字符串

package main import ( "fmt" "strings" ) func TrimRule(r rune)bool{ if r == 'H' || r == 'a'{ return true } return false } func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 TrimFunc() 函数,不能去除字符串中间包含中指定规则字符串 strHaiCoder := "嗨客网(HaiCoder)" TrimFuncStr := strings.TrimFunc(strHaiCoder, TrimRule) fmt.Println("TrimFuncStr =", TrimFuncStr) }

程序运行后,控制台输出如下:

63 golang去除字符串指定规则的字符串.png

首先,我们定义了一个字符串类型的变量 strHaicoder,并且赋值为中间带指定规则字符串的字符串,接着我们使用字符串的 TrimFunc() 函数去除变量 strHaicoder 的中指定规则字符串,并使用 print() 函数打印最终结果。

我们发现,字符串中间的 H 和 a 字符还是存在的,说明使用 TrimFunc() 函数,不能去除字符串中间包含中指定规则字符串。

Go语言去除指定规则字符串总结

在 Go 语言中,去除字符串中指定规则字符串的函数为 TrimFunc() 。Go 语言 TrimFunc() 函数语法:

func TrimFunc(s string, f func(rune) bool) string

使用 TrimFunc() 函数,只能去除字符串中左边和右边符合指定规则字符串,中间的不能去除。