golang获取字符串的某一段的字符

本文探讨如何在字符串`tracer`中找到中文逗号的位置,并通过切片操作理解`strings.Index()`在处理非ASCII字符时的用法。重点介绍了如何使用`strings.Index()`和切片获取'死神'在特定位置后的子串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package main

import (
	"fmt"
	"strings"
)

func main() {
	tracer := "死神来了,死神byebye"
	comma := strings.Index(tracer, ",")
	pos := strings.Index(tracer[comma:], "死神")
	fmt.Println(comma, pos, tracer[comma+pos:])
}

尝试在tracer的字符串中搜索中文的逗号,返回的位置存在comma变量中,类型是int,

表示从tracer字符串开始的ASCII码位置

strings.index()函数并没有像其他语言一样,提供一个从某偏移开始搜索的功能。不过我们

对字符串进行切片操作来实现这个逻辑。

Pos是tracer[comma:]从tracer的comma位置开始到到tracer字符串结尾构造一个字符串,

返回给strings.index()进行索引,得到的pos是相对于tracer[comma:]的结果

comma逗号的位置是12,pos是相对位置1,tracer[comma+pos:]偏移是15,搜索结果是

字符串索引比较常用的如下方法:

strings.index 正向搜索

strings.lastindex  反向

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值