【愚公系列】2022年08月 Go教学课程 040-字符串处理
【摘要】 前言符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列。字符串操作就是以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。–百度百科相关文档网址:https://studygolang.com/pkgdoc 一、字符串处理函数 1.len()...
前言
符串或串(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)
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)