溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

golang語言漸入佳境[22]-string檢索類函數(shù)

發(fā)布時間:2020-07-02 18:31:08 來源:網(wǎng)絡(luò) 閱讀:209 作者:jonson_jackson 欄目:開發(fā)技術(shù)

string檢索類函數(shù)

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package main

import (
"fmt"
"strings"
"unicode"
)

/*
1、func Contains(s, substr string) bool
判斷字符串s是否包含substr字符串

2、func ContainsAny(s, chars string) bool
判斷字符串s是否包含chars字符串中的任一字符

3、func ContainsRune(s string, r rune) bool
判斷字符串s是否包含unicode碼值r

4、func Count(s, sep string) int
返回字符串s包含字符串sep的個數(shù)

5、func HasPrefix(s, prefix string) bool
判斷字符串s是否有前綴字符串prefix

6、func HasSuffix(s, suffix string) bool
判斷字符串s是否有后綴字符串suffix

7、func Index(s, sep string) int
返回字符串s中字符串sep首次出現(xiàn)的位置

8、func IndexAny(s, chars string) int
返回字符串chars中的任一unicode碼值r在s中首次出現(xiàn)的位置

9、func IndexByte(s string, c byte) int
返回字符串s中字符c首次出現(xiàn)位置

10、func IndexFunc(s string, f func(rune) bool) int
返回字符串s中滿足函數(shù)f(r)==true字符首次出現(xiàn)的位置

11、func IndexRune(s string, r rune) int
返回unicode碼值r在字符串中首次出現(xiàn)的位置

12、func LastIndex(s, sep string) int
返回字符串s中字符串sep最后一次出現(xiàn)的位置

13、func LastIndexAny(s, chars string) int
返回字符串s中任意一個unicode碼值r最后一次出現(xiàn)的位置

14、func LastIndexByte(s string, c byte) int
返回字符串s中字符c最后一次出現(xiàn)的位置

15、func LastIndexFunc(s string, f func(rune) bool) int
返回字符串s中滿足函數(shù)f(r)==true字符最后一次出現(xiàn)的位置
*/
func main() {
TestLastIndexFunc()
}

func TestContains() {
fmt.Println(strings.Contains("seafood", "foo"))//true
fmt.Println(strings.Contains("seafood", "bar"))//false
fmt.Println(strings.Contains("seafood", ""))//true
fmt.Println(strings.Contains("", ""))//true
fmt.Println(strings.Contains("jonson鄭2008", "鄭"))//true
}

func TestContainsAny() {
fmt.Println(strings.ContainsAny("team", "i"))//false
fmt.Println(strings.ContainsAny("failure", "u & i"))//true
fmt.Println(strings.ContainsAny("foo", ""))//false
fmt.Println(strings.ContainsAny("", ""))//false
}

func TestContainsRune() {
fmt.Println(strings.ContainsRune("一丁丂", '丁'))//true
fmt.Println(strings.ContainsRune("一丁丂", 19969))//true
}

func TestCount() {
fmt.Println(strings.Count("cheese", "e"))//3
fmt.Println(strings.Count("one", ""))//4
}

func TestHasPrefix() {
fmt.Println(strings.HasPrefix("1000phone news", "1000"))//true
fmt.Println(strings.HasPrefix("1000phone news", "1000a"))//false
}

func TestHasSuffix() {
fmt.Println(strings.HasSuffix("1000phone news", "news"))//true
fmt.Println(strings.HasSuffix("1000phone news", "new"))//false
}

func TestIndex() {
fmt.Println(strings.Index("chicken", "ken"))//4
fmt.Println(strings.Index("chicken", "dmr"))//-1
}

func TestIndexAny() {
fmt.Println(strings.IndexAny("abcABC120", "教育基地A"))//3
}

func TestIndexByte() {
fmt.Println(strings.IndexByte("123abc", 'a'))//3
}

func TestIndexRune() {
fmt.Println(strings.IndexRune("abcABC120", 'C'))//5
fmt.Println(strings.IndexRune("It培訓(xùn)教育", '教'))//8
}

func TestIndexFunc() {
f := func(c rune) bool {
return unicode.Is(unicode.Han , c)
}
fmt.Println(strings.IndexFunc("Hello123,中國" , f))//9
}

func TestLastIndex() {
fmt.Println(strings.LastIndex("jonson learn english", "e"))//13
fmt.Println(strings.Index("go gopher", "go"))//0
fmt.Println(strings.LastIndex("go gopher", "go"))//3
fmt.Println(strings.LastIndex("go gopher", "rodent"))//-1
}

func TestLastIndexAny() {
fmt.Println(strings.LastIndexAny("chicken", "aeiouy"))//5
fmt.Println(strings.LastIndexAny("crwth", "aeiouy"))//-1
}

func TestLastIndexByte() {
fmt.Println(strings.LastIndexByte("abcABCA123", 'A'))//6
}


func TestLastIndexFunc() {
f := func(c rune) bool {
return unicode.Is(unicode.Han, c)
}
fmt.Println(strings.LastIndexFunc("Hello,世界", f))//9
fmt.Println(strings.LastIndexFunc("Hello,world中國人", f))//17
}
  • 本文鏈接: https://dreamerjonson.com/2018/11/30/golang-22-string-package/

  • 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協(xié)議 許可協(xié)議。轉(zhuǎn)載請注明出處!

golang語言漸入佳境[22]-string檢索類函數(shù)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI