golang字符串處理

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

package main

 

import (

    "fmt"

    "regexp"

    "strconv"

    "strings"

)

 

func main(){

    //1.查看字符串中是否包含某個子串,類似於Python中的__contains__,或者 in

    fmt.Println(strings.Contains("古明地覺""古明"))//true

    fmt.Println(strings.Contains("古明地覺""古明地覺"))//true

    fmt.Println(strings.Contains("古明地覺""古明地盆"))//false

 

    //2.將多個字符串按照一定規則組合在一塊,類似於Python中的join

    s := []string{"古明地盆","東方地靈殿"}

    fmt.Println(strings.Join(s, "來自"))//古明地盆來自東方地靈殿

 

    //3.查找字符串中某個子串的位索引,查不到爲-1,類似於Python中的find

    fmt.Println(strings.Index("satori","ri"))//4

    fmt.Println(strings.Index("satori","shi"))//-1

 

    //4.將一個字符串重複n次,類似Python中的*

    fmt.Println(strings.Repeat("satori", 3)) //satorisatorisatori

 

    //5.將一個字符串按照指定字符進行切割,類似於Python中的split

    s1:="satori|koishi|古明地盆|古明地戀"

    fmt.Println(strings.Split(s1, "|"))//[satori koishi 古明地盆 古明地戀]

 

    //6.去掉字符串兩頭,類似於Python中的strip

    fmt.Println(strings.Trim("aababbb古明地盆古明地戀bababaa""ab"))//古明地盆古明地戀

 

    //7.去掉所有的空格,將元素放在一個切片中

    fmt.Println(strings.Fields("    are      古明地盆    ok"))//[are 古明地盆 ok]

 

    //8.計算指定字符出現的次數

    fmt.Println(strings.Count("古明地盆古明地戀""古"))//2

 

    //9.判斷字符串是否以指定字符開頭

    fmt.Println(strings.HasPrefix("satori""sa"))//true

 

    //10.判斷字符串是否以指定字符結尾

    fmt.Println(strings.HasSuffix("satori","ri"))//true

 

    //----------------------------

 

    //1.轉化爲字符串後追加到字節數組

    slice := make([]byte, 0, 1024)

    slice = strconv.AppendBool(slice, true)

    //第三個參數表示以多少進制追加

    slice = strconv.AppendInt(slice, 1024, 10)

    slice = strconv.AppendQuote(slice, "satori")

    slice = strconv.AppendQuote(slice, "古明地盆")

    //轉化爲字符串打印

    fmt.Println(string(slice)) //true1024"satori""古明地盆"

 

    //2.字符串轉整型

    //具有兩個返回值,另一個是錯誤信息

    fmt.Println(strconv.Atoi("6666")) //6666 <nil>

 

    //3.整型轉字符串

    fmt.Println(strconv.Itoa(2333)) //2333

    fmt.Printf("%q\n", strconv.Itoa(2333))//"2333"

 

 

    //正則表達式,熟悉Python的話,這個自不必說,只介紹不同的地方

    //Python表示原生字符串需要在""前面加上r,go中使用``表示即可

    //步驟分爲兩步

    //1.使用MustCompile解析並返回一個正則表達式

    reg := regexp.MustCompile(`\d{4}`)

    //2.調用需要的函數查找

    result1 := reg.FindAllString("123-1234-12345",-1)

    result2 := reg.FindAllStringSubmatch("123-1234-12345",-1)

    fmt.Println(result1)//[1234 1234]

    fmt.Println(result2)//[[1234] [1234]]

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章