strings包提供了Go語言中操作字元串的方法,提供了一系列函數用于處理字元串,包括比較、查找、替換、轉換等功能。
以下是一些常用的示例代碼:
1、比較兩個字元串:strings.Compare()
package main
import (
"fmt"
"strings"
)
func main() {
s1 := "天生我材必有用"
s2 := "腹有詩書氣自華,讀書萬卷始通神"
fmt.Println(strings.Compare(s1, s2))
//-1
}
傳回值小于0表示s1小于s2,等于0表示s1等于s2,大于0表示s1大于s2。
2、查找子串:strings.Contains()
package main
import (
"fmt"
"strings"
)
func main() {
s1 := "書山有路勤為徑,學海無涯苦作舟"
s2 := "學海無涯苦作舟"
fmt.Println(strings.Contains(s1, s2))
//true
}
傳回bool值,如果存在子串則傳回true,否則傳回false。
3、字元串替換:strings.Replace()、strings.ReplaceAll
package main
import (
"fmt"
"strings"
)
func main() {
s1 := "君子喻于義,小人喻于利,小人喻于利"
s2 := "喻"
s3 := "喻1"
fmt.Println(strings.Replace(s1, s2, s3, 2))
//君子喻1于義,小人喻1于利,小人喻于利
}
第四個參數控制替換的次數,2表示替換兩處,-1表示替換所有。
package main
import (
"fmt"
"strings"
)
func main() {
str := "世上無難事,隻怕有心人呵呵呵"
str = strings.ReplaceAll(str, "呵", "哈")
fmt.Println(str)
//世上無難事,隻怕有心人哈哈哈
}
将字元串"世上無難事,隻怕有心人呵呵呵"中的“呵”替換為“哈”,最終列印出結果“世上無難事,隻怕有心人哈哈哈”,strings.ReplaceAll是替換所有。
4、轉換函數:ToUpper()、ToLower()、Title()
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello world"
//轉換為大寫
str = strings.ToUpper(str)
fmt.Println(str)
//HELLO WORLD
//strings.ToLower():轉換為小寫
//Title()函數将字元串的每個單詞的首字母都轉換成大寫
fmt.Println(strings.Title("hello world"))
//Hello World
}
5、拆分函數:Split()、Fields()
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello,world"
fmt.Println(strings.Split(str, ","))
//[hello world]
str1 := "hello,world"
fmt.Println(strings.Fields(str1))
//[hello,world]
}
将字元串“hello,world”拆分為“hello”和“world”兩個子字元串,結果輸出為一個字元串數組。
Split()函數與Fields()函數之間的主要差別是,Split()函數需要指定拆分字元,而Fields()函數不需要指定拆分字元,它會預設按照空格,換行和Tab符号來進行拆分。