獲取字符串的某一段字符是開發中常見的操作,我們一般將字符串中的某一段字符稱做子串(substring)。
下面例子中使用 strings.Index() 函數在字符串中搜索另外一個子串,代碼如下:
package main
import (
"fmt"
"strings"
)
func main() {
tracer := "死神來了,死神bye bye"
comma := strings.Index(tracer, ",")
//comma的意思是從字符串tracer查找第一個逗號,然后返回他的位置,這里的每個中文是占3個字符,從0開始計算,那么逗號的位置就是12
pos := strings.Index(tracer[comma:], "死神")
//tracer[comma:]這個是的意思截取字符串tracer,從12開始,包括12
fmt.Println(tracer[comma:])
//,死神bye bye
//整段的代碼的意思是從tracer[comma:]這個字符串中查找“死神”這個字符串,第0位是逗號,第一位開始就是“死神”了,所以這里pos是1
fmt.Println(comma, pos, tracer[comma+pos+3:])
}
總結
字符串索引比較常用的有如下幾種方法:
- strings.Index:正向搜索子字符串。
- strings.LastIndex:反向搜索子字符串。
- 搜索的起始位置可以通過切片偏移制作。
