Go语言中‘String’包中的’Cut’函数的实现
Cut函数用于在字符串**‘s’中查找子串’sep’,并将字符串’s’在子串 ‘sep’ 第一次出现的位置分割成两部分:before和after**
package main
import(
"fmt"
"strings"
)
func main(){
s := "hello,world"
before, after, found := strings.Cut(s,",")
if found {
fmt.Println("Before: ", before)
fmt.Pringln("After: ",after)
}else {
fmt.Println("Not found!")
}
}
上述代码将会输出:
//Cut实现
func Cut(s, sep string)(before, after string, found bool){
if i := Index(s, sep); i > 0 { // i为子串sep第一次出现的位置
return s[:i],s[i+len(sep):],true
}
return s, "",false
}
return : 若找到了sep子串,使用切片操作将子串分割为两部分:从字符串开头到子串sep出现的位置为before,从子串sep出现的位置之后到字符串的末尾为after,true表示找到了子串sep