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

文章标题:100道Go语言面试题之-Go的strings包提供了哪些实用的字符串处理函数?
  • 文章分类: 后端
  • 6716 阅读
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语言进行文本处理时不可或缺的工具。
推荐文章