加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Go语言字符串截取(获取字符串的某一段字符)

发布时间:2020-12-16 18:02:02 所属栏目:大数据 来源:网络整理
导读:获取字符串的某一段字符是开发中常见的操作,我们一般将字符串中的某一段字符称做 子串(substring) 。 下面例子中使用 strings.Index() 函数在字符串中搜索另外一个子串,代码如下: tracer := "死神来了,死神bye bye"comma := strings.Index(tracer,",")po
获取字符串的某一段字符是开发中常见的操作,我们一般将字符串中的某一段字符称做子串(substring)

下面例子中使用 strings.Index() 函数在字符串中搜索另外一个子串,代码如下:
tracer := "死神来了,死神bye bye"
comma := strings.Index(tracer,",")

pos := strings.Index(tracer[comma:],"死神")

fmt.Println(comma,pos,tracer[comma+pos:])
程序输出如下:

12 3 死神bye bye


代码说明如下:
1) 第 2 行尝试在 tracer 的字符串中搜索中文的逗号,返回的位置存在 comma 变量中,类型是 int,表示从 tracer 字符串开始的 ASCII 码位置。

strings.Index() 函数并没有像其他语言一样,提供一个从某偏移开始搜索的功能。不过我们可以对字符串进行切片操作来实现这个逻辑。

2) 第4行中,tracer[comma:] 从 tracer 的 comma 位置开始到 tracer 字符串的结尾构造一个子字符串,返回给 string.Index() 进行再索引。得到的 pos 是相对于 tracer[comma:] 的结果。

comma 逗号的位置是 12,而 pos 是相对位置,值为 3。我们为了获得第二个“死神”的位置,也就是逗号后面的字符串,就必须让 comma 加上 pos 的相对偏移,计算出 15 的偏移,然后再通过切片 tracer[comma+pos:] 计算出最终的子串,获得最终的结果:“死神bye bye”。

总结

字符串索引比较常用的有如下几种方法:
  • strings.Index:正向搜索子字符串。
  • strings.LastIndex:反向搜索子字符串。
  • 搜索的起始位置可以通过切片偏移制作。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读