您好,登錄后才能下訂單哦!
今天小編給大家分享一下Go語(yǔ)言中如何實(shí)現(xiàn)字符串切割的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
1.func Fields(s string) []string,這個(gè)函數(shù)的作用是按照1:n個(gè)空格來(lái)分割字符串最后返回的是
[]string的切片
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Fields("hello widuu golang")) //out [hello widuu golang]
}
2.func FieldsFunc(s string, f func(rune) bool) []string一看就了解了,這就是根據(jù)自定義函數(shù)分割了
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.FieldsFunc("widuunhellonword", split)) // [widuu hello word]根據(jù)n字符分割
}
func split(s rune) bool {
if s == 'n' {
return true
}
return false
}
3.func Join(a []string, sep string) string,這個(gè)跟php中的implode差不多,這個(gè)函數(shù)是將一個(gè)[]string的切片通過(guò)分隔符,分割成一個(gè)字符串
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
s := []string{"hello", "word", "xiaowei"}
fmt.Println(strings.Join(s, "-")) // hello-word-xiaowei
}
4.func Split(s, sep string) []string,有join就有Split這個(gè)就是把字符串按照指定的分隔符切割成slice
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Split("a,b,c,d,e", ",")) //[a b c d e]
}
5.func SplitAfter(s, sep string) []string,這個(gè)函數(shù)是在前邊的切割完成之后再后邊在加上sep分割符
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.SplitAfter("a,b,c,d", ",")) //[a, b, c, d]
}
6.func SplitAfterN(s, sep string, n int) []string該函數(shù)s根據(jù)sep分割,返回分割之后子字符串的slice,和split一樣,只是返回的子字符串保留sep,如果sep為空,那么每一個(gè)字符都分割
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.SplitAfterN("a,b,c,d,r", ",", 4)) //["a," "b," "c," "d,r"]
fmt.Println(strings.SplitAfterN("a,b,c,d,r", ",", 5)) //["a," "b," "c," "d," "r"]
}
7.func SplitN(s, sep string, n int) []string,這個(gè)是切割字符串的時(shí)候自己定義長(zhǎng)度,如果sep為空,那么每一個(gè)字符都分割
復(fù)制代碼 代碼如下:
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.SplitN("a,b,c", ",", 2)) //[a b,c]
}
以上就是“Go語(yǔ)言中如何實(shí)現(xiàn)字符串切割”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。