写点什么

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

作者:愚公搬代码
  • 2022-11-03
    福建
  • 本文字数:2382 字

    阅读完需:约 8 分钟

前言

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


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


一、字符串处理函数

1.len()

package main
import ( "fmt" "strconv" "strings")
func main() { str1 := "Hello Go" fmt.Println("str len=", len(str1))}
复制代码

2.Atoi()

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()

package main
import ( "fmt" "strconv" "strings")
func main() { // 整数转字符串 str2 := strconv.Itoa(123) fmt.Println("s =", str2)}
复制代码

4.字符串转[]byte

package main
import ( "fmt" "strconv" "strings")
func main() { // 字符串转[]byte bytes := []byte("hello go") fmt.Printf("bytes=%v\n", bytes)}
复制代码

5.byte[]转字符串

package main
import ( "fmt" "strconv" "strings")
func main() { // byte转字符串 str3 := string([]byte{101, 102, 103}) fmt.Println("str3=%v\n", str3)}
复制代码

6.FormatInt()

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()

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

8.Count()

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

9.EqualFold()

package main
import ( "fmt" "strconv" "strings")
func main() { str5 := strings.EqualFold("GOLANG", "golang") fmt.Println("str5 =", str5)}
复制代码

10.Index()

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

11.LastIndex()

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

12.Replace()

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

13.Split()

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

14.ToLower()和 ToUpper()

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()

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

16.Trim()

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

17.HasPrefix()

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()

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

19.Repeat()

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

二、字符串处理案例

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)
}
复制代码



发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-03-01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年11月 Go教学课程 040-字符串处理_11月月更_愚公搬代码_InfoQ写作社区