当前位置: 技术文章>> 100道Go语言面试题之-Go的strings包提供了哪些实用的字符串处理函数?

文章标题:100道Go语言面试题之-Go的strings包提供了哪些实用的字符串处理函数?
  • 文章分类: 后端
  • 6814 阅读

Go语言的strings包提供了丰富的字符串处理函数,这些函数在处理文本数据时非常实用。以下是一些主要的字符串处理函数及其简要说明:

1. 查找和判断

  • Contains(s, substr string) bool:判断字符串s中是否包含子串substr。
  • ContainsAny(s, chars string) bool:判断字符串s中是否包含字符串chars中的任意字符。
  • ContainsRune(s string, r rune) bool:判断字符串s中是否包含Unicode码点r。
  • HasPrefix(s, prefix string) bool:判断字符串s是否以prefix开头。
  • HasSuffix(s, suffix string) bool:判断字符串s是否以suffix结尾。
  • Index(s, substr string) int:返回子串substr在字符串s中第一次出现的位置,未找到则返回-1。
  • IndexAny(s, chars string) int:返回字符串chars中的任意字符在字符串s中第一次出现的位置,未找到或chars为空则返回-1。
  • IndexRune(s string, r rune) int:返回字符r在字符串s中第一次出现的位置,未找到则返回-1。
  • LastIndex(s, substr string) int:返回子串substr在字符串s中最后一次出现的位置,未找到则返回-1。
  • LastIndexAny(s, chars string) int:返回字符串chars中的任意字符在字符串s中最后一次出现的位置,未找到或chars为空则返回-1。

2. 修改和转换

  • Replace(s, old, new string, n int) string:将字符串s中的前n个old子串替换为new,如果n为-1则替换所有。
  • Repeat(s string, count int) string:将字符串s重复count次并返回结果。
  • ToLower(s string) string:将字符串s中的所有字符转换为小写。
  • ToUpper(s string) string:将字符串s中的所有字符转换为大写。
  • TrimSpace(s string) string:去除字符串s首尾的空白字符(如空格、换行符等)。
  • Trim(s, cutset string) string:去除字符串s首尾的cutset指定的字符集合中的字符。
  • TrimLeft(s, cutset string) string:去除字符串s左边的cutset指定的字符集合中的字符。
  • TrimRight(s, cutset string) string:去除字符串s右边的cutset指定的字符集合中的字符。

3. 分割和拼接

  • Split(s, sep string) []string:以sep为分隔符,将字符串s分割成多个子串,结果中不包含sep本身。
  • SplitAfter(s, sep string) []string:以sep为分隔符,将字符串s分割成多个子串,结果中包含sep本身。
  • SplitN(s, sep string, n int) []string:以sep为分隔符,将字符串s分割成多个子串,但最多分割出n个子串,结果中不包含sep本身。
  • SplitAfterN(s, sep string, n int) []string:以sep为分隔符,将字符串s分割成多个子串,但最多分割出n个子串,结果中包含sep本身。
  • Join(a []string, sep string) string:使用sep作为分隔符,将a中的字符串元素连接成一个新的字符串。

4. 其他

  • Count(s, substr string) int:计算字符串substr在字符串s中出现的非重叠次数。
  • EqualFold(s, t string) bool:不区分大小写地比较两个字符串s和t是否相等。

这些函数覆盖了字符串处理中的大部分常见需求,如查找、替换、分割、拼接、转换等,是Go语言进行文本处理时不可或缺的工具。

推荐文章