Hike News
Hike News

Go初識-day5-字符串操作

strings庫的使用

判斷字符串開頭

strings.HasPrefix(str string, prefix string) bool
判斷字符串str是否以prefix開頭,並返回bool

example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

import (
"fmt"
"strings"
)

func main(){
var a string = "https://google.com"
var b string = "http://www.taroballz.com"

aa := strings.HasPrefix(a,"https://")
bb := strings.HasPrefix(b,"https://")

fmt.Println(aa)
fmt.Println(bb)
}

result

1
2
true
false

判斷字符串結尾

strings.HasSuffix(str string, suffix string) bool
判斷字符串str是否以suffix結尾,並返回bool

example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

import (
"fmt"
"strings"
)

func main(){
a := "http://www.example.com/index.php"
b := "http://www.demo.com/default.aspx"

aa := strings.HasSuffix(a,"php")
bb := strings.HasSuffix(b,"php")

fmt.Println(aa)
fmt.Println(bb)
}

result

1
2
true
false

字符串出現的位置

判斷首次出現

strings.Index(str string, choice string) int
判斷choicestr首次出現的位置,如果沒有返回-1

example

1
2
3
4
5
6
7
8
9
10
11
12
package main

import (
"fmt"
"strings"
)

func main(){
var a string = "Hello World"
result := strings.Index(a,"l")
fmt.Println(result)
}

result

1
2

判斷最後出現

strings.LastIndex(str string, choice string) int
判斷choicestr最後出現的位置,如果沒有返回-1

example

1
2
3
4
5
6
7
8
9
10
11
12
package main

import (
"fmt"
"strings"
)

func main(){
var a string = "Hello World"
result := strings.LastIndex(a,"l")
fmt.Println(result)
}

result

1
9

字符串替換

strings.Replace(str string, old string, new string, n int)
str中的old替換成new,共替換n

  • 要是n小於0,則替換次數無限制

字符串記數

strings.Count(str string, substr string)int
計數substrstr中出現的次數,並返回出現的次數

生成重複的字符串

strings.Repeat(str string, count int)string
生成一個將str重複count次的字符串並返回


大小寫轉換

字符串轉小寫

strings.ToLower(str strinig)string
str轉成小寫後返回

字符串轉大寫

strings.ToUpper(str string)string
str轉成大寫後返回


除去特定字符串

除去字符串首尾的空白字符

strings.TrimSpace(str string)

  • 空白字符包含\n,\t…等

除去字符串首尾字符

strings.Trim(str string, cut string)
去掉str中首尾的cut

除去字符串首字符

strings.TrimLeft(str string, cut string)
去掉str中頭部的cut

除去字符串尾字符

strings.TrimRight(str string, cut string)
去掉str中尾部的cut


分割字符串

以空格分割

strings.Field(str string)
返回一個以空格分割的所有子字符串的切片

自訂義分割

strings.Split(str strings, split string)
返回一個以split分割的所有子字符串的切片

合併字符串

strings.Join(s1 []strings, sep string)
返回一個 使用sep作為s1切片中各子字符串的分隔符的拼接字符串

  • .Split反操作

strconv庫的使用

整數轉字符串

strconv.Itoa(i int)
i整數轉為字符串

字符串轉整數

strconv.Atoi(str string)(int,error)
str字符串轉為整數並返回
要是無法轉換返回error