前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2022年08月 Go教学课程 040-字符串处理

【愚公系列】2022年08月 Go教学课程 040-字符串处理

作者头像
愚公搬代码
发布2022-09-21 15:26:49
2640
发布2022-09-21 15:26:49
举报
文章被收录于专栏:历史专栏历史专栏

文章目录


前言

符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列。字符串操作就是以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。–百度百科

相关文档网址:https://studygolang.com/pkgdoc

在这里插入图片描述
在这里插入图片描述

一、字符串处理函数

1.len()

代码语言:javascript
复制
package main

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

func main() {
	str1 := "Hello Go"
	fmt.Println("str len=", len(str1))
}

2.Atoi()

代码语言:javascript
复制
package main

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

func main() {
	n, err := strconv.Atoi("123")
	if err != nil {
		fmt.Println("error:", err)
	} else {
		fmt.Println("n=", n)
	}
}

3.Itoa()

代码语言:javascript
复制
package main

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

func main() {
	// 整数转字符串
	str2 := strconv.Itoa(123)
	fmt.Println("s =", str2)
}

4.字符串转[]byte

代码语言:javascript
复制
package main

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

func main() {
	// 字符串转[]byte
	bytes := []byte("hello go")
	fmt.Printf("bytes=%v\n", bytes)
}

5.byte[]转字符串

代码语言:javascript
复制
package main

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

func main() {
	// byte转字符串
	str3 := string([]byte{101, 102, 103})
	fmt.Println("str3=%v\n", str3)
}

6.FormatInt()

代码语言:javascript
复制
package main

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

func main() {
	// 10进制转2,8,16进制
	str4 := strconv.FormatInt(123, 2)
	fmt.Println("str4=%v\n", str4)
}

7.Contains()

代码语言:javascript
复制
package main

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

func main() {
	// 查找子串是否在指定的字符串中
	b := strings.Contains("golang", "go")
	fmt.Println("b=", b)
}

8.Count()

代码语言:javascript
复制
package main

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

func main() {
	// 统计字符串有几个指定的子串
	x := strings.Count("goo", "o")
	fmt.Println("x=", x)
}

9.EqualFold()

代码语言:javascript
复制
package main

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

func main() {
	str5 := strings.EqualFold("GOLANG", "golang")
	fmt.Println("str5 =", str5)
}

10.Index()

代码语言:javascript
复制
package main

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

func main() {
	// 返回子字符串第一次出现在字符串中的位置
	str6 := strings.Index("golang", "ol")
	fmt.Println("str6=", str6)
}

11.LastIndex()

代码语言:javascript
复制
package main

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

func main() {
	// 返回子串在字符串最后出现的位置
	str7 := strings.LastIndex("golang", "g")
	fmt.Println("str7=", str7)
}

12.Replace()

代码语言:javascript
复制
package main

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

func main() {
	// 将指定的字符串替换为另外字符串
	str8 := strings.Replace("golang", "go", "go语言", -1)
	fmt.Println("str8=", str8)
}

13.Split()

代码语言:javascript
复制
package main

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

func main() {
	// 将字符串拆分成字符串数组
	strArr := strings.Split("hello,golang", ",")
	fmt.Println("str9=", strArr)
}

14.ToLower()和ToUpper()

代码语言:javascript
复制
package main

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

func main() {
	// 字符串大小写转换
	str9 := strings.ToLower("GOLANG")
	fmt.Println("str9=", str9)
	str10 := strings.ToUpper("golang")
	fmt.Println("str10=", str10)
}

15.TrimSpace()

代码语言:javascript
复制
package main

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

func main() {
	// 将字符串两边的空格去掉
	str11 := strings.TrimSpace(" Hello Golang ")
	fmt.Println("str11=", str11)
}

16.Trim()

代码语言:javascript
复制
package main

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

func main() {
	// 将字符左右两边指定的字符去掉, Trim, TrimLeft, TrimRight
	str12 := strings.Trim(",hello golang,", ",")
	fmt.Println("str12=", str12)
}

17.HasPrefix()

代码语言:javascript
复制
package main

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

func main() {
	// 判断字符串是否以指定的字符串开头
	str13 := strings.HasPrefix("https://www.baidu.com/", "https")
	str14 := strings.HasSuffix("hello.go",".go")
	fmt.Println("str13=", str13)
	fmt.Println("str14=", str14)
}

18.join()

代码语言:javascript
复制
package main

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

func main() {
   s:=[]string{"abc","hello","world"}
   str:=strings.Join(s,"|") // 以"|"对切片中的内容进行分隔
   fmt.Println(str)
}

19.Repeat()

代码语言:javascript
复制
package main

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

func main() {
   str:=strings.Repeat("go",3) // 表示字符串"go"重复3次
   fmt.Println(str)
}

二、字符串处理案例

代码语言:javascript
复制
package main

import (
	"fmt"
	"strings"
)

//让用户输入一个日期格式,如:2018-01-02, 输出日期为2008年1月2日
//让用户输入一句话,判断这句话中有没有“邪恶”,如果有“邪恶”就替换成“**”,然后输出.
func main() {
	// 1: 输入日期
	//fmt.Println("请输入日期,格式:年-月-日")
	//var str string
	//fmt.Scan(&str)
	 2: 按照"-"进行分隔
	//s:=strings.Split(str,"-")
	 3: 输出指定的格式
	//fmt.Println(s[0]+"年"+s[1]+"月"+s[2]+"日")

	// 第二道题
	// 1:定义变量存储用户输入的一句话
	fmt.Println("请输入一句话:")
	var str string
	fmt.Scan(&str)
	// 2:判断用户输入的内容中是否有“邪恶”
	if strings.Contains(str, "邪恶") {
		// 3: 如果有,则进行替换
		str = strings.Replace(str, "邪恶", "**", -1)
	}
	fmt.Println(str)

}
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/08/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、字符串处理函数
    • 1.len()
      • 2.Atoi()
        • 3.Itoa()
          • 4.字符串转[]byte
            • 5.byte[]转字符串
              • 6.FormatInt()
                • 7.Contains()
                  • 8.Count()
                    • 9.EqualFold()
                      • 10.Index()
                        • 11.LastIndex()
                          • 12.Replace()
                            • 13.Split()
                              • 14.ToLower()和ToUpper()
                                • 15.TrimSpace()
                                  • 16.Trim()
                                    • 17.HasPrefix()
                                      • 18.join()
                                        • 19.Repeat()
                                        • 二、字符串处理案例
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档