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