字符串操作
字符串切割
- 按照空字符串切割
将字符串按照空字符换来切割,返回为字符串的切片。如果字符串是空字符串或者空白,将会返回空切片
func Fields(s string) []string
- 按照指定字符去切割字符串
需要使用f函数来确定分隔符,如果字符串是空字符换或者空白将会返回空切片
方式一:
func FieldsFunc(s string, f func(rune) bool) []string
官网示例代码:
需要满足切割的字符不能是字母或者数字
f := func(c rune) bool {
return !unicode.IsLetter(c) && !unicode.IsNumber(c)
}
//IsLetter报告一个字符是否是字母,IsNumber报告一个字符是否是数字字符
fmt.Printf("Fields are: %q", strings.FieldsFunc(" foo1;bar2,baz3...", f))
方式二:
以seq指定的切割符进行切割s,返回字符串类型的切片。如果seq是空字符串,Split会将s切分成每一个unicode码值一个字符串
func Split(s, sep string) []string
-
按照指定的切割符去切割指定的次数
func SplitN(s, sep string, n int) []string
参数n决定返回的切片的数目:
n > 0 : 返回的切片最多n个子字符串;最后一个子字符串包含未进行切割的部分。
n == 0: 返回nil
n < 0 : 返回所有的子字符串组成的切片 -
按照指定的切割符去切割,并返回元素+分隔符
用指定的seq切割符去切割s,返回每个字符串同时并携带seq指定的切割符,最后生成字符串类型的切片
func SplitAfter(s, sep string) []string
字符串拼接
- Sprintf()格式化输出
fmt包中,将字符串格式化后输出
Sprintf根据format参数生成格式化的字符串并返回该字符串
func Sprintf(format string, a ...interface{}) string
示例:
s1 := fmt.Sprintf("%s:%s", "hello", "world")
fmt.Println(s1)
- strings.Join()函数连接字符串
将一系列字符串连接为一个字符串,之间用sep来分隔
func Join(a []string, sep string) string
官方示例:
s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
- bytes.Buffer()
Buffer是一个实现了读写方法的可变大小的字节缓冲。本类型的零值是一个空的可用于读写的缓冲
type Buffer struct {
// 内含隐藏或非导出字段
}
//定义读写方法的字节缓冲赋值变量
var b bytes.Buffer
//把字节写入缓冲中
b.WriteString("hello")
b.WriteString("world!")
//将缓冲以字符串的形式输出
fmt.Println(stringBuilder.String())
- 使用符号"+"连接
使用符号+将两个字符串连接起来
str := "hello" + "world"
fmt.Println(str)
THE END
0
海报
字符串操作
字符串切割
按照空字符串切割
将字符串按照空字符换来切割,返回为字符串的切片。如果字符串是空字符串或者空白,将会返回空切片
func Fields(s string) []string
按照指定字符去切割字符串
需要使用f函数来确定分隔符,如果字符串是空字符换或者空白将会返回空切片
方式一:……
文章目录
关闭