Go怎么提取子字符串?

文章导读
Previous Quiz Next In Golang 中,substring 是较大 string 的一部分。它通过提供起始索引和长度来指定,包含从起始索引开始的原 string 字符,直至指定长度。substring 中的字符仍然是原 string 的一部分,并共
📋 目录
  1. A 使用 Trimspace() 函数进行子字符串提取
  2. B 使用索引概念进行子字符串提取
  3. C 使用 Split 函数进行子字符串提取
A A

Go - 子字符串提取



Previous
Quiz
Next

In Golang 中,substring 是较大 string 的一部分。它通过提供起始索引和长度来指定,包含从起始索引开始的原 string 字符,直至指定长度。substring 中的字符仍然是原 string 的一部分,并共享相同的内存。

In Go 中,string 是一系列字符。它是不可变的数据类型,这意味着一旦创建 string,就不能修改。String 用双引号 ("") 包围,可以包含字母、数字和符号的任意组合。

使用 Trimspace() 函数进行子字符串提取

在这个例子中,我们将编写一个 Go 语言程序,使用外部函数从 string 中获取 substring。我们创建的函数将接受 string 作为参数,以及用于获取 string 元素的起始和结束变量。

Syntax

For Output Code pre class

trimSpace() 函数位于 strings 包中,用于移除 string 字符之间的空格。该函数接受所需的 string 作为参数,并返回移除单词间空格后的最终 string。

Algorithm

  • Step 1 首先,需要导入 fmt 和 strings 包。
  • Step 2 创建一个函数,接受 string 及其两个索引作为参数,在这些索引之间获取 substring 并返回。
  • Step 3 开始 main() 函数。
  • Step 4 在 main 中初始化一个 string 变量并存储值。
  • Step 5 在屏幕上打印该变量。
  • Step 6 现在调用 substring 函数,传递所需参数,并将函数返回的结果存储在变量中。
  • Step 7 该变量包含给定索引之间的 substring。在屏幕上打印它们。

Example

使用外部函数从 string 中获取 substring 的 Go 语言程序

在这个例子中,我们定义了一个 'Substring' 函数,用于从给定 string 的指定索引之间提取并修剪 substring。main 函数通过提取 string 从索引 5 到 15 的 substring 并打印提取的 substring 来演示这一点。

package main
import (
   "fmt"
   "strings"
)

// Substring function to get a substring from the string
// 从 string 中获取 substring 的 Substring 函数
func Substring(str string, start, end int) string {
   return strings.TrimSpace(str[start:end])
}
func main() {
   // initializing a string
   // 初始化一个 string
   var str string = "Live young live free"
   
   // Get substring from index 5 to 15
   // 从索引 5 到 15 获取 substring
   substring := Substring(str, 5, 15)

   fmt.Println("The string values between the index 5 and 15 are:", substring)
}

Output

The string values between the index 5 and 15 are: young live

使用索引概念进行子字符串提取

在本文中,我们将使用索引的概念编写一个 Go 语言程序,从原始字符串中获取子字符串。

算法

  • 步骤 1 首先,我们需要导入 fmt 包。
  • 步骤 2 开始 main() 函数。
  • 步骤 3 在 main() 函数内部初始化一个字符串变量并为其赋值
  • 步骤 4 使用 fmt.Println() 函数将该字符串打印到屏幕上。
  • 步骤 5 进一步,初始化两个整数类型变量来存储数组的起始和结束索引。
  • 步骤 6 将得到的结果存储在名为 result 的变量中,并使用 fmt.Println() 函数将该变量打印到屏幕上。

示例

使用索引概念从字符串中获取子字符串的 Go 语言程序

在这个示例中,我们初始化字符串 "Prevention is better than cure",并从索引 11 到 20 提取一个子字符串。它打印提取的子字符串,即 "is better"。

package main
import "fmt"
func main() {

   // 初始化一个字符串
   var str string = "Prevention is better than cure"

   var startInd int = 11
   var endInd int = 20

   result := str[startInd:endInd]
   fmt.Println("所需的子字符串在", startInd, "和", endInd, "之间")

   fmt.Println("获取上述索引之间元素后得到的数组是:", result)
}

输出

所需的子字符串在 11 和 20 之间
获取上述索引之间元素后得到的数组是: is better

使用 Split 函数进行子字符串提取

在这个示例中,我们将使用 split 函数从 Go 语言的字符串中获取子字符串。

语法

func Split(str, sep string) []string

Split() 函数用于通过提供的分隔符拆分字符串。该函数位于 strings 包中,它接受要拆分的字符串作为参数以及一个分隔符。然后函数返回最终的字符串数组作为结果。

算法

  • 步骤 1 首先,我们需要导入 fmt 和 strings 包。
  • 步骤 2 然后开始 main() 函数。
  • 步骤 3 在该函数内部初始化一个字符串变量并为其赋值。
  • 步骤 4 进一步将字符串打印到屏幕上。
  • 步骤 5 使用 strings 包中的 split() 函数
  • 步骤 6 将子字符串中的元素存储在新的变量中。
  • 步骤 7 现在,使用 fmt.Println() 函数将子字符串打印到屏幕上。

示例

使用 split 函数从字符串中获取子字符串的 Go 语言程序

在这个示例中,我们初始化字符串 "Never give up",并使用空格作为分隔符将其拆分为子字符串切片。然后从切片中检索第二个元素 ("give") 并打印输出。

package main
import (
   "fmt"
   "strings"
)

func main() {
   // 初始化一个字符串
   var str string = "Never give up"
   // 将字符串拆分为子字符串切片
   substrings := strings.Split(str, " ")
   substring := substrings[1]

   fmt.Println("上述字符串中的第二个元素是:", substring)
}

输出

上述字符串中的第二个元素是: give

我们已经成功编译并执行了一个 Go 语言程序,从给定的字符串中获取子字符串,并附带示例。我们在这里初始化了三个示例,在第一个示例中我们使用了一个单独的函数以及 trimSpace() 函数,而在第二个示例中我们使用索引的概念来实现结果。在第三个示例中,我们使用了 strings 包中的 split() 函数。