卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

golang怎么截取字符串

go 语言中截取字符串的方法包括:使用下标操作符:str[:5] 截取前 5 个字符,str[7:] 截取从第 8 个字符开始的字符串。使用内置函数:substring(str, 0, 5) 截取前 5 个字符,len(str)-1 获取最后一个字符的索引。使用正则表达式:使用 regexp.mustcompile 匹配模式,并用 findallstring 查找匹配项。

golang怎么截取字符串

Go 语言中如何截取字符串

在 Go 语言中,可以通过多种方法截取字符串:

1. 使用下标操作符

最简单的方法是使用下标操作符 ([])。下标操作符接受两个整数参数:起始索引和结束索引(不包括在内)。例如:

str := "Hello, world!"
s1 := str[:5]  // 截取 "Hello"
s2 := str[7:]  // 截取 "world!"

2. 使用内置函数

Go 语言还提供了以下内置函数来截取字符串:

  • len():返回字符串的长度。
  • substring(str string, start, end int):返回从指定起始索引到结束索引(不包括在内)的子字符串。
  • cut():返回一个字符切片,其中包含指定起始索引和结束索引之间的子字符串。

例如:

str := "Hello, world!"
s1 := str[:len(str)-1]  // 截取 "Hello, worl"
s2 := substring(str, 0, 5)  // 截取 "Hello"
s3 := cut(str, 0, 5)  // 截取 "Hello"

3. 使用正则表达式

正则表达式是一种强大的模式匹配语言,可用于从字符串中提取子字符串。Go 语言提供了一个 regexp 包,用于处理正则表达式。例如:

import (
    "fmt"
    "regexp"
)

str := "Hello, world!"
re := regexp.MustCompile(`w+`)  // 匹配一个或多个单词字符
result := re.FindAllString(str, -1)  // 查找所有匹配项
fmt.Println(result)  // 输出 ["Hello", "world"]

需要注意的是:

  • 字符串在 Go 中是不可变的,因此截取操作会创建一个新的字符串副本。
  • 负索引表示从字符串末尾开始计数。
  • 如果起始索引超出字符串长度或结束索引小于起始索引,将 panicked。
卓越飞翔博客
上一篇: golang怎么截取字符串中的汉字
下一篇: golang切片怎么转成字符串
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏