GO 字符串分割与拼接
分割
//根据空格分割
strings.Fields(s string) []string
//根据自定义字符分割
strings.Split(s string,sep string) []string
// 返回值是 []string,使用 for 遍历
for i := 0; i < len([]string); i++ {
fmt.Println([]string[i])
}
//自定义分割func
strings.FieldsFunc(s string,f func(rune) bool) []string
s:要分割的字符串
f:自定义的分割规则函数,返回类型为bool类型
返回结果为[]string
例:
f := func(c rune) bool {
if c == '*' || c == '@'||c=='f'||c==' '||c=='二' {
return true
} else {
return false
}
}
s := "@a*b@@c**d## e$f二%ag*"
result := strings.FieldsFunc(s, f)
fmt.Printf("result:%q", result)
结果为:result:["a" "b" "c" "d##" "e$" "%ag"]
1、当连续出现多个符合条件的字符时当次分割只会进行一次,例如s=”a*b”或s=”a#b”,根据条件c==’‘或c==’‘||c==’#’进行分割时,结果为[“a” “b”],而非[“a” “” “b”]
2、当要分割的字符出现在s的首或者尾的时候可以忽略,例如s=”ab*”,根据条件c==’*’分割,结果为[“a” “b”],而非[“” “a” “b” “”]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 30%!