strings包 提供了一系列处理字符串的函数。下面列出了这个包里的一部分函数,其余的可以查阅文档了解!
| 类别 | 函数 | 用途 |
|---|---|---|
| 大小写转换 | ToLower | 把字符串转换为小写 |
| 大小写转换 | ToUpper | 把字符串转换为大写 |
| 查找 | Contains | 检查字符串是否包含指定的子字符串 |
| 查找 | Count | 统计子字符串不重叠出现的次数 |
| 查找 | HasPrefix | 检查字符串是否以指定的子字符串开头 |
| 查找 | HasSuffix | 检查字符串是否以指定的子字符串结尾 |
| 查找 | Index | 返回子字符串第一次出现的下标,没有则返回 -1 |
| 修改 | Replace | 替换子字符串,最多替换 n 次 |
| 修改 | ReplaceAll | 替换所有出现的子字符串 |
| 修改 | TrimSpace | 去掉开头和结尾的空白字符 |
| 拆分与合并 | Fields | 按空白字符把字符串拆分成单词 |
| 拆分与合并 | FieldsSeq | 每次获取一个单词 |
| 拆分与合并 | Join | 用分隔符拼接字符串切片 |
| 拆分与合并 | Split | 按分隔符把字符串拆分成若干部分 |
| 拆分与合并 | SplitSeq | 每次获取一个部分 |
import (
"fmt"
"strings"
)
// Case conversion
strings.ToLower("Gopher") // "gopher"
strings.ToUpper("Gopher") // "GOPHER"
// Searching
strings.Contains("Apple", "le") // true
strings.Index("Apple", "le") // 3
strings.Index("Apple", "xyz") // -1
strings.Count("test", "t") // 2
strings.HasPrefix("Gopher", "Go") // true
strings.HasSuffix("Gopher", "er") // true
// Modifying
strings.TrimSpace(" hello ") // "hello"
strings.Replace("aabbcc", "b", "x", 1) // "aaxbcc"
strings.ReplaceAll("aabbcc", "b", "x") // "aaxxcc"
// Splitting or Joining
strings.Fields(" a b\tc ") // []string{"a", "b", "c"}
strings.Split("a,b,c", ",") // []string{"a", "b", "c"}
strings.Join([]string{"a", "b", "c"}, ",") // "a,b,c"
// You do not need to worry about this range syntax yet.
// It is covered later in the range iteration concept.
for word := range strings.FieldsSeq(" a b\tc ") {
fmt.Println(word)
}
// Output:
// a
// b
// c
for part := range strings.SplitSeq("a,b,c", ",") {
fmt.Println(part)
}
// Output:
// a
// b
// c