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

 

posted on 2019-05-30 17:34  bainianminguo  阅读(45273)  评论(0编辑  收藏  举报