golang字串處理

2021-10-14 09:56:05 字數 4042 閱讀 6637

下面這些函式來自於string包

常用操作

// fields 以連續的空白字元為分隔符,將 s 切分成多個子串,結果中不包含空白字元本身

// 空白字元有:\t, \n, \v, \f, \r, ' ', u+0085 (nel), u+00a0 (nbsp)

// 如果 s 中只包含空白字元,則返回乙個空列表

func fields(s string) string

func main()
func contains(s, substr string) bool

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

例子

func main()
func join(a string, seq string) string

功能: 字串鏈結,把slice a通過sep鏈結起來

例子

func main() 

//foo, bar, baz

fmt.println(strings.join(s, ", "))

}

還有個lastindex表示最後出現的位置

func index(s, sep string) int

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

例子

func main()
func repeat(s string, count int) string

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

例子

func main()
fiunc replace(s, old, new string, n int) string

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

例子

func main()
func split(s, sep string) string

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

例子

func main()
func trim(s string, cutset string) string

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

例子

func main()
將整數等轉換為字串後,新增到現有的位元組陣列中

func main()
format系列函式把其他型別的轉換為字串

例子

a := strconv.formatbool(false)

//10進製

b := strconv.formatint(1234, 10)

c := strconv.formatuint(123444, 10)

//整形轉字串

d := strconv.itoa(1234)

//false 1234 123444 1234

fmt.println(a, b, c, d)

parse系列函式把字串轉換為其他型別

//字串轉其他型別

var flag bool

var err error

flag, err = strconv.parsebool("true")

if err == nil else

func main()
長度是位元組的長度

字串底層是乙個byte陣列,所以可以和byte型別互相轉換

字串是不可以修改的

var str = "hello你好"

fmt.printf("str[0]=%c, len(str)=%d\n", str[0], len(str))

for index, val := range str

//str['0'] = '1' 錯誤不能修改

var byteslice byte

byteslice = byte(str)

byteslice[0] = '0'

str = string(byteslice)

fmt.println(str)

輸出

str[0]=h, len(str)=11

0 104

1 101

2 108

3 108

4 111

5 20320

8 22909

0ello你好

rune是字元型別

var str = "hello你好"

//位元組陣列

var rune byte

rune = byte(str)

//11, 11

fmt.println(len(str), len(rune))

var str = "hello你好"

//rune是字元型別

var byteslice rune

byteslice = rune(str)

//11, 7

fmt.println(len(str), len(byteslice))

int, err := strconv.atoi(string)
int64, err := strconv.parseint(string, 10, 64)
string := strconv.itoa(int)
string := strconv.formatint(int64,10)
i32,err := strconv.parseint(str,10,32)  

if err == nil

int64_ := int64(1234)
string := strconv.formatfloat(float32,'e',-1,32)

string := strconv.formatfloat(float64,'e',-1,64)

// 'b' (-ddddp±ddd,二進位制指數)

// 'e' (-d.dddde±dd,十進位制指數)

// 'e' (-d.dddde±dd,十進位制指數)

// 'f' (-ddd.dddd,沒有指數)

// 'g' ('e':大指數,'f':其它情況)

// 'g' ('e':大指數,'f':其它情況)

float,err := strconv.parsefloat(string,64)
float,err := strconv.parsefloat(string,32)
day,_ := time.parse("2006-01-02", "2017-11-14")

month := time.unix(day.unix(), 0).format("2006-01") //返回2017-11

Golang字串處理

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.p...

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 ...