前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go标准库:strings

Go标准库:strings

原创
作者头像
孟斯特
发布2024-08-11 08:36:49
1520
发布2024-08-11 08:36:49
举报
文章被收录于专栏:Go学习

Go 语言的 strings 包是标准库中的一个重要部分,专门用于操作字符串。它提供了丰富的字符串处理函数,涵盖了查找、比较、替换、分割、拼接、修剪等操作。在 Go 语言中,字符串是不可变的,strings 包提供的函数都不会修改原始字符串,而是返回新的字符串。

1. 字符串查找和比较

  • func Compare(a, b string) int:比较两个字符串 ab。如果 ab 小,返回 -1;如果相等,返回 0;如果 ab 大,返回 1。
  • func Contains(s, substr string) bool:判断字符串 s 是否包含子字符串 substr,如果包含,返回 true,否则返回 false
  • func ContainsAny(s, chars string) bool:判断字符串 s 是否包含 chars 中的任意一个字符,返回 truefalse
  • func ContainsRune(s string, r rune) bool:判断字符串 s 是否包含 Unicode 字符 r,返回 truefalse
  • func Count(s, sep string) int:计算子字符串 sep 在字符串 s 中出现的次数。
  • func EqualFold(s, t string) bool:判断两个字符串是否在忽略大小写的情况下相等,返回 truefalse
  • func HasPrefix(s, prefix string) bool:判断字符串 s 是否以 prefix 为前缀,返回 truefalse
  • func HasSuffix(s, suffix string) bool:判断字符串 s 是否以 suffix 为后缀,返回 truefalse
  • func Index(s, sep string) int:返回子字符串 sep 在字符串 s 中第一次出现的位置索引,如果未找到则返回 -1。
  • func IndexAny(s, chars string) int:返回字符串 s 中第一个出现在 chars 中的任意一个字符的位置索引,如果未找到则返回 -1。
  • func IndexByte(s string, c byte) int:返回字节 c 在字符串 s 中第一次出现的位置索引,如果未找到则返回 -1。
  • func IndexRune(s string, r rune) int:返回 Unicode 字符 r 在字符串 s 中第一次出现的位置索引,如果未找到则返回 -1。
  • func LastIndex(s, sep string) int:返回子字符串 sep 在字符串 s 中最后一次出现的位置索引,如果未找到则返回 -1。
  • func LastIndexAny(s, chars string) int:返回字符串 s 中最后一个出现在 chars 中的任意一个字符的位置索引,如果未找到则返回 -1。
  • func LastIndexByte(s string, c byte) int:返回字节 c 在字符串 s 中最后一次出现的位置索引,如果未找到则返回 -1。

2. 字符串替换

  • func Replace(s, old, new string, n int) string:返回一个新的字符串,在字符串 s 中,将前 nold 子字符串替换为 new。如果 n 为 -1,则替换所有出现的 old
  • func ReplaceAll(s, old, new string) string:返回一个新的字符串,在字符串 s 中,将所有的 old 子字符串替换为 new

3. 字符串修改

  • func ToLower(s string) string:将字符串 s 中的所有字符转换为小写。
  • func ToUpper(s string) string:将字符串 s 中的所有字符转换为大写。
  • func Title(s string) string:将字符串 s 中的每个单词的首字母转换为大写。
  • func Trim(s, cutset string) string:去除字符串 s 开头和结尾处的 cutset 中的任意字符。
  • func TrimSpace(s string) string:去除字符串 s 开头和结尾的空白字符。
  • func TrimPrefix(s, prefix string) string:如果字符串 sprefix 为前缀,则去除该前缀,否则返回原始字符串 s
  • func TrimSuffix(s, suffix string) string:如果字符串 ssuffix 为后缀,则去除该后缀,否则返回原始字符串 s
  • func Map(mapping func(rune) rune, s string) string:返回一个新的字符串,其中 s 中的每个字符通过 mapping 函数进行转换。

4. 字符串分割和拼接

  • func Split(s, sep string) []string:将字符串 s 按照分隔符 sep 分割,返回一个字符串切片。如果 sep 为空,则将 s 的每个字符作为分割点。
  • func SplitN(s, sep string, n int) []string:将字符串 s 按照分隔符 sep 分割最多 n 个子字符串,并返回这些子字符串组成的切片。
  • func SplitAfter(s, sep string) []string:将字符串 s 按照分隔符 sep 分割,保留分隔符,并返回一个字符串切片。
  • func SplitAfterN(s, sep string, n int) []string:将字符串 s 按照分隔符 sep 分割最多 n 个子字符串,保留分隔符,并返回这些子字符串组成的切片。
  • func Join(a []string, sep string) string:将字符串切片 a 中的所有元素连接成一个字符串,并在每个元素之间插入分隔符 sep

5. 其他实用函数

  • func Repeat(s string, count int) string:返回一个新的字符串,包含 s 重复 count 次的结果。
  • func NewReader(s string) *strings.Reader:返回一个 *strings.Reader,该 Reader 实现了 io.Readerio.ReaderAtio.Seekerio.WriterToio.ByteScanner 接口,可以用来高效地读取字符串。
  • func ToValidUTF8(s, replacement string) string:将字符串 s 中的无效 UTF-8 字符替换为 replacement,并返回一个新的字符串。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 字符串查找和比较
  • 2. 字符串替换
  • 3. 字符串修改
  • 4. 字符串分割和拼接
  • 5. 其他实用函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档