Go語言的strings包字串處理二之字串操作函式
Contains
func Contains( s , substr string ) bool
功能:字串 s中是否包含 substr ,返回 bool 值
示例程式碼:
fmt . Println ( strings . Contains ( "seafood" , "foo" ))
fmt . Println ( strings . Contains ( "seafood" , "bar" ))
fmt . Println ( strings . Contains ( "seafood" , "" ))
fmt . Println ( strings . Contains ( "" , "" ))
//執行結果 :
//true
//false
//true
//true
Join
func Join( a [] string , sep string ) string
功能:字串連結,把 slice a通過 sep 連結起來
示例程式碼:
s := [] string { "foo" , "bar" , "baz" }
fmt . Println ( strings . Join ( s , ", " ))
//執行結果 :foo, bar, baz
Index
func Index( s , sep string ) int
功能:在字串 s中查詢 sep 所在的位置,返回位置值,找不到返回 - 1
示例程式碼:
fmt . Println ( strings . Index ( "chicken" , "ken" ))
fmt . Println ( strings . Index ( "chicken" , "dmr" ))
//執行結果 :
// 4
// -1
Repeat
func Repeat( s string , count int ) string
功能:重複 s字串 count 次,最後返回重複的字串
示例程式碼:
fmt . Println ( "ba" + strings . Repeat ( "na" , 2 ))
//執行結果 :banana
Replace
func Replace( s , old , new string , n int ) string
功能:在 s字串中,把 old 字串替換為 new 字串, n 表示替換的次數,小於 0 表示全部替換
示例程式碼:
fmt . Println ( strings . Replace ( "oink oink oink" , "k" , "ky" , 2 ))
fmt . Println ( strings . Replace ( "oink oink oink" , "oink" , "moo" , - 1 ))
//執行結果 :
//oinky oinky oink
//moo moo moo
Split
func Split( s , sep string ) [] string
功能:把 s字串按照 sep 分割,返回 slice
示例程式碼:
fmt . Printf ( "%q\n" , strings . Split ( "a,b,c" , "," ))
fmt . Printf ( "%q\n" , strings . Split ( "a man a plan a canal panama" , "a " ))
fmt . Printf ( "%q\n" , strings . Split ( " xyz " , "" ))
fmt . Printf ( "%q\n" , strings . Split ( "" , "Bernardo O'Higgins" ))
//執行結果 :
//["a" "b" "c"]
//["" "man " "plan " "canal panama"]
//[" " "x" "y" "z" " "]
//[""]
Trim
func Trim( s string , cutset string ) string
功能:在 s字串的頭部和尾部去除 cutset 指定的字串
示例程式碼:
fmt . Printf ( "[%q]" , strings . Trim ( " !!! Achtung !!! " , "! " ))
//執行結果 :["Achtung"]
Fields
func Fields( s string ) [] string
功能:去除 s字串的空格符,並且按照空格分割返回 slice
示例程式碼:
fmt . Printf ( "Fields are: %q" , strings . Fields ( " foo bar baz " ))
//執行結果 :Fields are: ["foo" "bar" "baz"]