首頁 > 軟體

GO語言字串處理Strings包的函數使用範例講解

2022-04-14 22:00:25

常用的字串處理常式

(1) Contains

func Contains(s, substr string) bool

功能:字串s中是否包含substr,返回bool值

演示如下:

//查詢一個字串在另一個字串中是否出現
str1 := "hello world"
str2 := "g"
//Contains(被查詢的字串,查詢的字串)  返回值 bool
//一般用於模糊查詢
b := strings.Contains(str1,str2)
//fmt.Println(b)
if b {
    fmt.Println("找到了")
}else {
    fmt.Println("沒有找到")
}

(2) Join

func Join(a []string, sep string) string

功能:字串連結,把slicea通過sep連結起來

演示如下:

//字串切片
slice := []string{"123","456","789"}
//fmt.Println(slice)
//Join
//字串的連線
str := strings.Join(slice,"")
fmt.Println(str)
//fmt.Printf("%Tn",str)

結果如下:

123456789

(3) Index

func Index(s, substr string) int

功能:在字串s中查詢sep所在的位置,返回位置值,找不到返回-1

str1 := "hello world"
str2 := "e"
//查詢一個字串在另一個字串中第一次出現的位置 返回值  int  下標  -1 找不到
i := strings.Index(str1,str2)
fmt.Println(i)

結果如下:

1

(4) Repeat

func Repeat(s string, count int) string

功能:重複s字串count次,最後返回重複的字串

演示如下:

str := "性感網友,線上取名。"
//將一個字串重複n次
str1 := strings.Repeat(str,100)
fmt.Println(str1)

(5) Replace

func Replace(s, old, new string, n int) string

功能:在s字串中,把old字串替換為new字串,n表示替換的次數,小於0表示全部替換

str := "性感網友線上取名性感性感性感性感性感"
//字串替換  遮蔽敏感詞彙
//如果替換次數小於0 表示全部替換
str1 := strings.Replace(str,"性感","**",-1)
fmt.Println(str1)

結果如下:

**網友線上取名**********

(6) Split

func Split(s, sep string) []string

功能:把s字串按照sep分割,返回slice

//將一個字串按照標誌位進行切割變成切片
str1 := "123456789@qq.com"
slice := strings.Split(str1,"@")
fmt.Println(slice[0])

結果如下:

123456789

(7) Trim

func Trim(s string, cutset string) string

功能:在s字串的頭部和尾部去除cutset指定的字串

str := "====a===u=ok===="
//去掉字串頭尾的內容
str1:= strings.Trim(str,"=")
fmt.Println(str1)

結果如下:

a===u=ok

(8) Fields

func Fields(s string) []string

功能:去除s字串的空格符,並且按照空格分割返回slice

str := "    are you ok    "
//去除字串中空格  轉成切片  一般用於統計單詞個數
slice := strings.Fields(str)
fmt.Println(slice)

字串轉換

通過以上的講解,發現字串的處理是非常重要的,GO語言也提供了字串與其它型別之間相互轉換的函數。相應的字串轉換函數都在”strconv”包。

(1) Format

Format 系列函數把其他型別的轉換為字串。

//將其他型別轉成字串  Format
b := false
str := strconv.FormatBool(true)
fmt.Println(str)
fmt.Printf("%Tn",str)
str := strconv.FormatInt(120,10)  //計算機中進位制 可以表示2-36  2  8  10 16
fmt.Println(str)
//   'f'列印方式   以小數方式    4 指小數位數  64  以float64處理
str:= strconv.FormatFloat(3.14159,'f',4,64)
fmt.Println(str)
str := strconv.Itoa(123)
fmt.Println(str)

(2) Parse

Parse 系列函數把字串轉換為其他型別

//字串轉成其他型別  Parse
b,err := strconv.ParseBool("true")
if err!=nil {
    fmt.Println("型別轉換出錯")
}else {
    fmt.Println(b)
    fmt.Printf("%Tn",b)
}
v,err := strconv.ParseInt("abc",16,64)
fmt.Println(v,err)
v,_ := strconv.ParseFloat("3.14159",64)
fmt.Println(v)
v,_:=strconv.Atoi("123")
fmt.Println(v)

(3) Append

Append 系列函數將整數等轉換為字串後,新增到現有的位元組陣列中。

slice := make([]byte,0,1024)
//將其他型別轉成字串 新增到字元切片裡

slice = strconv.AppendBool(slice,false)
slice = strconv.AppendInt(slice,123,2)
slice = strconv.AppendFloat(slice,3.14159,'f',4,64)
slice = strconv.AppendQuote(slice,"hello")
fmt.Println(string(slice))

對應的結果是:

false11110113.1416"hello"

以上就是GO語言字串處理Strings包的函數使用範例講解的詳細內容,更多關於GO語言字串處理Strings包函數的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com