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语言进行文本处理时不可或缺的工具。