ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

golang中常用的字符串操作

2022-02-22 19:03:00  阅读:174  来源: 互联网

标签:常用 abc fmt golang Println go 字符串 strings


package main

import (
	"fmt"
	"strconv"
	"strings"
)

func main() {

	//1.len()统计字符长度
	str := "hello" //golang中的编码统一为utf-8(ascii的字符(字母和数字)占一个字节,汉字占三个字节)
	fmt.Println(len(str))

	//2.字符串遍历时,同时处理有中文的问题r:=[]rune()
	str2 := "2008!北京欢迎您!"
	r := []rune(str2)
	for i := 0; i < len(r); i++ {

		fmt.Printf("字符%d=%c\n", i, r[i])
	}

	//3.字符串转整数:n,err := strconv.Atoi()
	n, err := strconv.Atoi("123456") //检验数字字符串转整数
	if err != nil {
		fmt.Println("转换错误", err)
	} else {
		fmt.Println("转成的结果是", n)
	}

	//4.整数转字符串 str := strconv.Itoa()
	str3 := strconv.Itoa(123)
	fmt.Printf("str = %v, str = %T\n", str3, str3)

	//5.字符串转[]byte()
	var bytes = []byte("hello go") //字母编码
	fmt.Printf("byte = %v\n", bytes)

	//6.ascii码 []byte转字符串
	str4 := string([]byte{97, 98, 99}) //编码转字符
	fmt.Println("str = ", str4)

	//7.十进制转2.8.16进制
	str5 := strconv.FormatInt(123, 2)
	str6 := strconv.FormatInt(123, 8)
	str7 := strconv.FormatInt(123, 16)
	fmt.Println("123对应的二进制数是 ", str5)
	fmt.Println("123对应的八进制数是 ", str6)
	fmt.Println("123对应的十六进制数是 ", str7)

	//8.查找子串是否在指定的字符串中: strings.Contains("seafood", "foo")
	b := strings.Contains("seafood", "foo") //b返回布尔值
	fmt.Println(b)

	//9.统计一个字符串中有几个指定的子串: strings.Count("ceheese", "e")
	num := strings.Count("ceheese", "e") //num返回e的个数
	fmt.Println(num)

	//10.不区分大小写的字符串比较(==是区分字母大小写的):         fmt.Println(string.EqualFold("abc", "Abc"))
	fmt.Println(strings.EqualFold("abc", "Abc")) //返回布尔值
	fmt.Println("abc" == "ABC")                  //区分大小写的字符串比较,返回布尔值

	//11.返回子串在字符串第一次出现的index值,如果没有返回-1: strings.Index("NLT_abc", "abc")
	str8 := strings.Index("NLT_abc", "abc") //返回首次出现的位置
	str9 := strings.Index("NLT_abc", "A")
	fmt.Println(str8)
	fmt.Println(str9)

	//12.返回子串在字符串第一次出现的index值,如果没有返回-1: strings.LastIndex("NLT_abc_S", "S")
	str10 := strings.Index("NLT_abc_S", "T") //返回首次出现的位置
	str11 := strings.Index("NLT_abc_S", "S")
	fmt.Println(str10)
	fmt.Println(str11)

	//13.将指定的几个子串替换成另一个子串:strings.Replace("go go hello", "go", "go语言", n)
	//n可以指定你希望替换几个,如果n=-1表示全部替换
	str12 := strings.Replace("go go hello", "go", "go 语言", 2)
	fmt.Println(str12)

	//14.按照指定的某个字符,为分割标识,将一个字符串拆分成字符串数组:strings.Split("hello,world,lady", ",")
	str13 := strings.Split("hello,world,lady", ",")
	fmt.Println(str13)

	//15.字符串的字母进行大小写的转换:strings.ToLower()
	//strings.ToUpper()
	str14 := strings.ToLower("HeLlO, wOrLd")
	str15 := strings.ToUpper("StAr, GaZeR")
	fmt.Println(str14, str15)

	//16.将字符串左右两边的空格去掉:strings.TrimSpace("")
	str16 := strings.TrimSpace("    abc    ")
	fmt.Println(str16)

	//17.将字符串左右两边指定的字符去掉:strings.Trim(),可同时去掉几种不同的字符
	str17 := strings.Trim("!def!", "!")
	fmt.Println(str17)

	//18.将字符串左边的指定字符去掉:strings.TrimLeft()
	//将字符串右边的指定字符去掉:strings.TrimRight()
	str18 := strings.TrimLeft("!!!!ghi", "!")
	str19 := strings.TrimRight("jkl~~~", "~")
	fmt.Println(str18, str19)

	//19.判断字符串是否以指定的字符串开头/结束 strings.HasPrefix()/strings.HasSuffix()
	fmt.Println(strings.HasPrefix("star gazer", "s")) //true
	fmt.Println(strings.HasSuffix("star gazer", "r")) //true
}

  

标签:常用,abc,fmt,golang,Println,go,字符串,strings
来源: https://www.cnblogs.com/PatrickStarGazer/p/15924478.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有