獲取字符串的某一段字符是開發中常見的操作,我們一般將字符串中的某一段字符稱做子串(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:反向搜索子字符串。
- 搜索的起始位置可以通過切片偏移制作。