Golang字串處理

2021-10-08 23:56:04 字數 2558 閱讀 8726

golang中字串處理主要用的是strings包

1、index(s string, str string) int:返回子串str在字串s中第一次出現的位置。如果找不到則返回-1;如果str為空,則返回0

例:a := "in"

b := "i an in china"

c := strings.index(b, a)

fmt.println(c)     //結果:   5

2、lastindex(s string, str string) int: 返回子串str在字串s中最後一次出現的位置。如果找不到則返回-1;如果str為空則返回字串s的長度。

例:   

string := "in"

s := "i an in china

c := strings.lastindex(s, string)

fmt.println(c)    //返回 10

3、indexrune(s string, r rune) int :返回字元r在字串s中第一次出現的位置。如果找不到則返回-1

string := 'i'

s := "i am in china"

c := strings.indexrune(s, rune(string))

fmt.println(c) //結果: 5

注意:  strings.indexrune區分大小寫,rune裡的定界符必須用單引號

4、contains(s string, str string) bool:判斷字串s中是否包含個子串str。包含或者str為空則返回true。

string := "i"

s := "i am in china"

c := strings.contains(s, string)

fmt.println(c) //結果: true

5、hasprefix(s string, prefix string) bool:判斷字串s是否以prefix開頭。

string := "i"

s := "i am in china"

c := strings.hasprefix(s, string)

fmt.println(c) //結果:trur

6、hassuffix(s, suffix string) bool :判斷字串s是否以prefix結尾。

string = "i"

s = "i am in china"

c = strings.hassuffix(s, string)

fmt.println(c) //結果:false

7、replace(s, old, new string, n int) string:返回s的副本,並將副本中的old字串替換為new字串,替換次數為n次,如果n為-1,則全部替換;如果 old 為空,則在副本的每個字元之間都插入乙個new

s := "i am in china"

d := strings.replace(s, "a", "f", -1)

fmt.println(d)

8、tolower(s string) string:將s中的所有字元修改為其小寫格式。對於非ascii字元,它的小寫格式需要查表轉換。

9、toupper(s string) string:將s中的所有字元修改為其大寫格式。對於非ascii字元,它的大寫格式需要查表轉換。

10、trim(s string, str string) string:刪除s首尾連續的包含在str中的字元。

11、trimleft(s string, str string) string:刪除s頭部連續的包含在str中的字串。

12、trimright(s string, str string) string:刪除s尾部連續的包含在str中的字串。

13、trimspace(s string) string:刪除s首尾連續的的空白字元。

14、repeat(s string, n int) string:將n個字串s連線成乙個新的字串。

15、split(s, str string) string:以str為分隔符,將s切分成多個子切片,結果中**不包含**str本身。如果str為空,則將s切分成unicode字元列表。如果s中沒有str子串,則將整個s作為string的第乙個元素返回。

s := "i am in china"

d := strings.split(s, " ")

fmt.println(d) //結果: [i am in china]

16、字串轉 byte:

var bytes = byte("hello go")

fmt.println(bytes) //結果:[104 101 108 108 111 32 103 111]

17、 byte 轉字串:

str := string(byte)

fmt.println(str)   //結果:  abc

golang字串處理

下面這些函式來自於string包 常用操作 fields 以連續的空白字元為分隔符,將 s 切分成多個子串,結果中不包含空白字元本身 空白字元有 t,n,v,f,r,u 0085 nel u 00a0 nbsp 如果 s 中只包含空白字元,則返回乙個空列表 func fields s string ...

Golang 字串拼接

字串拼接應該在程式設計過程中比較常用的操作了,在go語言中對字串的拼接有多種處理方式,以下通過例項來一一講解 這種應該是最直接最簡單的方式了。func stringplus string 複製 執行go test bench benchmem 檢視效能輸出如下 benchmarkstringplus...

Golang 常用字串處理方法

package main import fmt strings unicode utf8 func main return false fmt.println fmt.println hasprefix 函式的用法 fmt.println strings.hasprefix nlt abc nlt ...