获取字符串的某一段字符是开发中常见的操作,我们一般将字符串中的某一段字符称做子串(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:反向搜索子字符串。
- 搜索的起始位置可以通过切片偏移制作。
浙公网安备 33010602011771号