Golang中strings包的常用函数

本文介绍了Go语言中strings包的几个常用函数,包括Split用于按指定分隔符分割字符串,Index查找子字符串首次出现的位置,Replace替换字符串中的指定子串,Repeat重复字符串一定次数,以及Contains检查字符串是否包含特定子串。这些函数是Go编程中处理字符串的关键工具。

目录

1·strings.Split(s, "+")

2·strings.Index(s, ".")

3·strings.Replace(s, old, new, -1)

 4.strings.Repeat(s, count)

5·strings.Contains(s, substr)


 

1·strings.Split(s, "+")

在这个示例中,字符串s被按照"+"符号进行分割,返回一个字符串切片a,其中每个元素都是被分割后的子串。 

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "Hello+World+Go"
	a := strings.Split(s, "+")
	fmt.Println(a) // 输出: [Hello World Go]
}

2·strings.Index(s, ".")

在这个示例中,函数strings.Index查找字符串s中第一个"."字符的索引位置,并将结果存储在index变量中。 

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "Hello.World.Go"
	index := strings.Index(s, ".")
	fmt.Println(index) // 输出: 5
}

3·strings.Replace(s, old, new, -1)

在这个示例中,函数strings.Replace将字符串s中的所有"Hello"子串替换为"Hi"子串,并将结果存储在newStr变量中。

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "Hello, Hello, Hello"
	newStr := strings.Replace(s, "Hello", "Hi", -1)
	fmt.Println(newStr) // 输出: Hi, Hi, Hi
}

strings.Replace(s, old, new, -1) 中的 -1 参数表示替换所有匹配项。它用于指示函数将字符串 s 中的所有 old 子串都替换为 new 子串。

更具体地说,strings.Replace 函数的最后一个参数指定要替换的次数。当该参数为负数时,即 -1,函数会替换所有匹配项,不限制替换次数。如果替换次数为 0 或正数,则仅替换指定次数的匹配项。

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "Hello, Hello, Hello"

	// 替换所有匹配项
	newStr := strings.Replace(s, "Hello", "Hi", -1)
	fmt.Println(newStr) // 输出: Hi, Hi, Hi

	// 仅替换一次匹配项
	newStr = strings.Replace(s, "Hello", "Hi", 1)
	fmt.Println(newStr) // 输出: Hi, Hello, Hello

	// 仅替换两次匹配项
	newStr = strings.Replace(s, "Hello", "Hi", 2)
	fmt.Println(newStr) // 输出: Hi, Hi, Hello
}

 如上所示,当 -1 作为替换次数时,函数会替换所有匹配项。而如果指定了其他正数或零作为替换次数,则仅替换指定次数的匹配项。

 4.strings.Repeat(s, count)

在这个示例中,函数strings.Repeat将字符串s重复3次,生成一个新的字符串repeated

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "abc"
	repeated := strings.Repeat(s, 3)
	fmt.Println(repeated) // 输出: abcabcabc
}

5·strings.Contains(s, substr)

在这个示例中,函数strings.Contains判断字符串s是否包含子串"World",如果包含则返回true,否则返回false。 

package main

import (
	"fmt"
	"strings"
)

func main() {
	s := "Hello, World!"
	contains := strings.Contains(s, "World")
	fmt.Println(contains) // 输出: true
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值