首页 > 其他分享 >golang 字符串函数

golang 字符串函数

时间:2023-02-22 17:12:59浏览次数:36  
标签:函数 package fmt golang 字符串 import main strings

1. 统计字符串的长度,按字节进行统计

package main

import "fmt"

func main() {
	var s1 string = "hello,世界"
	fmt.Printf("s1字符串的长度为:%v", len(s1)) //汉字为utf-8为3个字节
}

执行结果

s1字符串的长度为:12

2. 字符串遍历

2.1 for range遍历

package main

import (
	"fmt"
)

func main() {
	var s1 string = "hello,世界"
	for key1, var1 := range s1 {
		fmt.Printf("下标为%d对应的字符为:%c\n", key1, var1) //汉字为utf-8为3个字节
	}
}

执行结果

下标为0对应的字符为:h
下标为1对应的字符为:e 
下标为2对应的字符为:l 
下标为3对应的字符为:l 
下标为4对应的字符为:o 
下标为5对应的字符为:, 
下标为6对应的字符为:世
下标为9对应的字符为:界

2.2. 切片遍历

package main

import (
	"fmt"
)

func main() {
	var s1 string = "hello,世界"
	ru := []rune(s1) //将字符串转为切片
	for i := 0; i < len(ru); i++ {
		fmt.Printf("%c\n", ru[i])
	}
}

执行结果

h                     
e                     
l                     
l                     
o                     
,                     
世                    
界 

3.字符串与整数互相转换

image

3.1 字符串转与整数

package main

import (
	"fmt"
	"strconv"
)

func main() {
	var s2 string = "210"
	n2, _ := strconv.Atoi(s2) //strconv.Atoi返回两个值,第一个值为int,第二个值为error,忽略error
	fmt.Printf("n2的值为:%v,n2的类型为%T", n2, n2)
}

执行结果

n2的值为:210,n2的类型为int

3.2 整数转字符串

package main

import (
	"fmt"
	"strconv"
)

func main() {
	var n2 int = 210
	s2 := strconv.Itoa(n2)
	fmt.Printf("n2的值为:%v,n2的类型为%T", s2, s2)
}

执行结果

n2的值为:210,n2的类型为string

4. 统计一个字符串有几个指定的子串

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	var s3 string = "helloutrnball"
	conunt := strings.Count(s3, "ll")
	fmt.Printf("s3字符串中出现连续ll的次数为:%v", conunt)
}

执行结果

s3字符串中出现连续ll的次数为:2

5. 查找子串是否在指定的字符串中

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	var s4 string = "abcdjekkbfjja"
	include := strings.Contains(s4, "jj")
	fmt.Println(include)
}

执行结果

true

6.不区分大小写的字符串比较

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	flag := strings.EqualFold("WORLD", "world")
	fmt.Println(flag)
}

执行结果

true

7. 返回子串在字符串第一次出现的索引值,如果没有返回-1

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	index1 := strings.Index("aabdcjakksnlfaknl", "nl") //nl在这段字符串中的第一次出现位置
	fmt.Println(index1)
	index2 := strings.Index("aabdcjakksnlfaknl", "kl") //nl在这段字符串中的第一次出现位置,没有返回-1
	fmt.Println(index2)
}

执行结果

10
-1

8. 字符串的替换

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s3 := strings.Replace("abcnaljakndal", "al", "tt", 1) //将第一个字符al替换为tt
	s4 := strings.Replace("abcnaljakndal", "al", "tt", -1) //当最后的n<0,替换所有匹配字符
	fmt.Println(s3)
	fmt.Println(s4)
}

执行结果

abcnttjakndal
abcnttjakndtt

9. 按照指定的某个字符,为分割标识,将一个学符串拆分成字符串数组

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s1 := strings.Split("calkjghakanmxml1222", "a") //将a做为分隔符,将分割的内容返回为切片
	s2 := strings.Split("calkjghakanmxml1222", "")  //不指定分隔符,默认会将每个字符为单位分割
	fmt.Printf("s1的类型为:%T,s1的值为:%v\n", s1, s1)
	fmt.Printf("s2的类型为:%T,s2的值为:%v", s2, s2)
}

执行结果

s1的类型为:[]string,s1的值为:[c lkjgh k nmxml1222]
s2的类型为:[]string,s2的值为:[c a l k j g h a k a n m x m l 1 2 2 2]

10. 将字符串的字母进行大小写的转换

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s5 := strings.ToLower("ABCabc") //将字符都转成小写
	s6 := strings.ToUpper("ABCabc") //将字符都转成大写
	fmt.Println(s5)
	fmt.Println(s6)
}

执行结果

abcabc
ABCABC

11.去掉字符串两边的空格

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s7 := strings.TrimSpace("   abcde    ")
	fmt.Println(s7)
}

执行结果

abcde

12. 去掉左右两边指定的字符

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s8 := strings.Trim("-***abcde--", "-*")
	fmt.Println(s8)
}

执行结果

abcde

13. 去掉字符串左边指定的字符

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s8 := strings.TrimLeft("-***abcde--***", "-*")
	fmt.Println(s8)
}

执行结果

abcde--***

14。 去掉字符串右边指定的字符

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s8 := strings.TrimRight("-***abcde--***", "-*")
	fmt.Println(s8)
}

执行结果

-***abcde

15. 判断字符串是否以指定的字符串开头

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s9 := strings.HasPrefix("acbc", "ac")
	fmt.Println(s9)
}

执行结果

true

16. 判断字符串是否以指定的字符串结束

image

package main

import (
	"fmt"
	"strings"
)

func main() {
	s9 := strings.HasSuffix("acbc", "bc")
	fmt.Println(s9)
}

执行结果

true

标签:函数,package,fmt,golang,字符串,import,main,strings
From: https://www.cnblogs.com/LI-XinYu/p/17142745.html

相关文章