1. 介绍
文档地址:https://pkg.go.dev/strings
Go 标准库 strings 用于字符串相关的操作。
2. 类型
2.1 Builder
类型定义:
// Builder 字符串构建器
type Builder struct {
// contains filtered or unexported fields
}
方法:
// Cap 容量大小
func (b *Builder) Cap() int
// Grow 增加容量
func (b *Builder) Grow(n int)
// Len 字符串长度
func (b *Builder) Len() int
// Reset 清空
func (b *Builder) Reset()
// 返回现有的字符串
func (b *Builder) String() string
// 追加内容
func (b *Builder) Write(p []byte) (int, error)
func (b *Builder) WriteString(s string) (int, error)
2.2 Reader
类型定义:
// Reader 字符串读取器
type Reader struct {
// contains filtered or unexported fields
}
方法:
// NewReader 创建对象
func NewReader(s string) *Reader
// Len 未读取的字符串长度
func (r *Reader) Len() int
// Size 字符串本身的长度
func (r *Reader) Size() int64
// Reset 重置
func (r *Reader) Reset(s string)
// Read 读取
func (r *Reader) Read(b []byte) (n int, err error)
// ReadByte 读取一个字节
func (r *Reader) ReadByte() (byte, error)
// WriteTo 输出
func (r *Reader) WriteTo(w io.Writer) (n int64, err error)
2.3 Replacer
类型定义:
// Replacer 字符串替换器
type Replacer struct {
// contains filtered or unexported fields
}
方法:
// NewReplacer 创建对象,指定多组替换内容
// 例子:r := strings.NewReplacer("<", "<", ">", ">")
func NewReplacer(oldnew ...string) *Replacer
// Replace 用自身的每组替换内容替换字符串s
func (r *Replacer) Replace(s string) string
// WriteString 替换字符串s输出到w
func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error)
3. 函数
// 复制
func Clone(s string) string
// Compare 比较,0 if a == b, -1 if a < b, 1 if a > b
func Compare(a, b string) int
// Contains 是否包含子串
func Contains(s, substr string) bool
// ContainsAny 是否包含任意字符
func ContainsAny(s, chars string) bool
// Index,子串出现的第一个索引,-1表示无
func Index(s, substr string) int
// LastIndex 子串出现的最后一个索引,-1表示无
func LastIndex(s, substr string) int
// IndexAny 任意字符出现的第一个索引,-1表示无
func IndexAny(s, chars string) int
// LastIndexAny 任意字符出现的最后一个索引,-1表示无
func LastIndexAny(s, chars string) int
// 是否包含前后缀
func HasPrefix(s, prefix string) bool
func HasSuffix(s, suffix string) bool
// Count 子串不重叠的出现次数
func Count(s, substr string) int
// 根据分隔符切割
func Cut(s, sep string) (before, after string, found bool)
func CutPrefix(s, prefix string) (after string, found bool)
func CutSuffix(s, suffix string) (before string, found bool)
// Split 字符串分割
func Split(s, sep string) []string
// Fields 根据空白符切割字符串
func Fields(s string) []string
// Join 字符串数组用连接符连接
func Join(elems []string, sep string) string
// Repeat 字符串s拼接多次
func Repeat(s string, count int) string
// Replace 字符串替换,不重叠,n为次数,-1表示不限次数
func Replace(s, old, new string, n int) string
// ReplaceAll 字符串替换,不重叠
func ReplaceAll(s, old, new string) string
// ToLower 字母转小写
func ToLower(s string) string
// ToUpper 字母转大写
func ToUpper(s string) string
// TrimSpace 删除前后的空白字符
func TrimSpace(s string) string
// 删除前后的cutset包含的字符
func Trim(s, cutset string) string
func TrimLeft(s, cutset string) string
func TrimRight(s, cutset string) string
// 删除前缀/后缀
func TrimPrefix(s, prefix string) string
func TrimSuffix(s, suffix string) string