# Golang学习 - strings 包
**strings 包与 bytes 包中的函数用法基本一样,不再赘述。**
只对 Replacer 进行说明。
* * * * *
转换
~~~
func ToUpper(s string) string
func ToLower(s string) string
func ToTitle(s string) string
func ToUpperSpecial(_case unicode.SpecialCase, s string) string
func ToLowerSpecial(_case unicode.SpecialCase, s string) string
func ToTitleSpecial(_case unicode.SpecialCase, s string) string
func Title(s string) string
~~~
* * * * *
比较
~~~
func Compare(a, b string) int
func EqualFold(s, t string) bool
~~~
* * * * *
清理
~~~
func Trim(s string, cutset string) string
func TrimLeft(s string, cutset string) string
func TrimRight(s string, cutset string) string
func TrimFunc(s string, f func(rune) bool) string
func TrimLeftFunc(s string, f func(rune) bool) string
func TrimRightFunc(s string, f func(rune) bool) string
func TrimSpace(s string) string
func TrimPrefix(s, prefix string) string
func TrimSuffix(s, suffix string) string
~~~
* * * * *
拆合
~~~
func Split(s, sep string) []string
func SplitN(s, sep string, n int) []string
func SplitAfter(s, sep string) []string
func SplitAfterN(s, sep string, n int) []string
func Fields(s string) []string
func FieldsFunc(s string, f func(rune) bool) []string
func Join(a []string, sep string) string
func Repeat(s string, count int) string
~~~
* * * * *
子串
~~~
func HasPrefix(s, prefix string) bool
func HasSuffix(s, suffix string) bool
func Contains(s, substr string) bool
func ContainsRune(s string, r rune) bool
func ContainsAny(s, chars string) bool
func Index(s, sep string) int
func IndexByte(s string, c byte) int
func IndexRune(s string, r rune) int
func IndexAny(s, chars string) int
func IndexFunc(s string, f func(rune) bool) int
func LastIndex(s, sep string) int
func LastIndexByte(s string, c byte) int
func LastIndexAny(s, chars string) int
func LastIndexFunc(s string, f func(rune) bool) int
func Count(s, sep string) int
~~~
* * * * *
替换
~~~
func Replace(s, old, new string, n int) string
func Map(mapping func(rune) rune, s string) string
~~~
* * * * *
~~~
type Reader struct { ... }
func NewReader(s string) *Reader
func (r *Reader) Read(b []byte) (n int, err error)
func (r *Reader) ReadAt(b []byte, off int64) (n int, err error)
func (r *Reader) WriteTo(w io.Writer) (n int64, err error)
func (r *Reader) Seek(offset int64, whence int) (int64, error)
func (r *Reader) ReadByte() (byte, error)
func (r *Reader) UnreadByte() error
func (r *Reader) ReadRune() (ch rune, size int, err error)
func (r *Reader) UnreadRune() error
func (r *Reader) Len() int
func (r *Reader) Size() int64
func (r *Reader) Reset(s string)
~~~
* * * * *
~~~
type Replacer struct { ... }
~~~
创建一个替换规则,参数为“查找内容”和“替换内容”的交替形式。
替换操作会依次将第 1 个字符串替换为第 2 个字符串,将第 3 个字符串
替换为第 4 个字符串,以此类推。
替换规则可以同时被多个例程使用。
~~~
func NewReplacer(oldnew ...string) *Replacer
~~~
使用替换规则对 s 进行替换并返回结果。
~~~
func (r *Replacer) Replace(s string) string
~~~
使用替换规则对 s 进行替换并将结果写入 w。
返回写入的字节数和遇到的错误。
~~~
func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error)
~~~