Golang---字符串操作

179 阅读3分钟

Golang---字符串操作

本节为go中字符串相关操作。

1--len()求长度

求一个字符串的长度,如:

func main() {
	s1 := "hello world!"
	fmt.Println(s1)
	fmt.Printf("s1的长度为:%v\n", len(s1))
}

输出为:

hello world!
s1的长度为:12

len(s string)为go中内置的函数,需要一个string类型的参数s,s即为想要得到长度的字符串;

2--分割split

将一个字符串分割成想要的几个部分,如

func main() {
	s1 := "hello world!"
	fmt.Println(s1)
	fmt.Printf("s1分割后:%v\n", strings.Split(s1, "l"))
}

输出为:

hello world!
s1分割后:[he  o wor d!]

strings.Split(s string, subStr string)中共需两个参数,第一个参数s为想要被分割的字符串,第二个参数subStr为分割依据,即遇到subStr就分割一次;

3--包含contains

判断一个字符串中是否包含某个字符串,如

func main() {
	s1 := "hello world!"
	fmt.Println(s1)
	fmt.Printf("s1中是否包含o:%v\n", strings.Contains(s1, "o"))
	fmt.Printf("s1中是否包含ee:%v\n", strings.Contains(s1, "ee"))
}

输出为

hello world!
s1中是否包含o:true
s1中是否包含ee:false

strings.Contains(s string, subStr string)中依然需要两个参数,第一个参数s为要在哪个字符串中查找,第二个参数subStr为想要查找的字符串,该方法返回值为bool类型。

4--判断前/后缀HasPrefix/HasSuffix

判断某个字符串是否以目标字符串开头/结尾,如

func main() {
	s1 := "hello world!"
	fmt.Println(s1)
	fmt.Printf("s1是否以hello开头:%v\n", strings.HasPrefix(s1, "hello"))
	fmt.Printf("s1是否以hello结尾:%v\n", strings.HasSuffix(s1, "hello"))
}

输出为:

hello world!
s1是否以hello开头:true
s1是否以hello结尾:false

strings.HasPrefix\HasSuffix(s string, subStr string)中也需要两个string类型的参数,s表示要在哪个字符串中查询,subStr表示要查询的字符串;

5--目标字符串所在的下标Index\LastIndex

查找某个字符串所在下标,如

func main() {
	s1 := "hello world!"
	fmt.Println(s1)
	fmt.Printf("he在s1中的下标:%v\n", strings.Index(s1, "he"))
	fmt.Printf("l在s1中的下标:%v\n", strings.LastIndex(s1, "l"))
}

输出为

hello world!
he在s1中的下标:0
l在s1中的下标:9

strings.Index\LastIndex(s string, subStr string)中s表示要在哪个字符串中查找,subStr表示要查找的字符串。这两个方法的区别在于Index是从前向后找,LastIndex则是从后向前找。如例中查找l,使用LastIndex则从后向前找,结果为9,而使用Index的话,是从前向后找,输出应是2;

6--拼接Join

可以将上面使用split分割开的数据按照特定的字符串连接起来,如

func main() {
	s1 := "hello world!"
	s2 := strings.Split(s1, "l")
	fmt.Println(s1)
	fmt.Printf("s1分割后:%v\n", strings.Split(s1, "l"))
	fmt.Printf("将s2拼接起来:%v\n", strings.Join(s2, "-"))
}

输出为:

hello world!
s1分割后:[he  o wor d!]
将s2拼接起来:he--o wor-d!

strings.Join(elems []string, sep string),这个方法中参数elems为一个string类型的数组,即需要拼接的数组,另一个为拼接所用的字符串,即想要用于拼接的字符串,返回值是一个字符串;

结束语

文章仅做个人学习交流,也许并不完全正确,欢迎指正;