Golang程序 从字符串中获取子串

Go中的子串是一个较大的字符串的一部分。它是通过提供一个起始索引和一个长度来指定的,它包含了从起始索引开始一直到指定长度的原始字符串的字符。子串中的字符仍然是原始字符串的一部分,并共享相同的内存。

在Go中,字符串是一个字符的序列。它是一种不可改变的数据类型,这意味着一旦字符串被创建,它就不能被修改。字符串用双引号(””)括起来,可以包含字母、数字和符号的任何组合。

方法1:通过使用Trimspace函数

在这个例子中,我们将编写一个go语言程序,通过使用一个外部函数从字符串中获取子串。我们创建的函数将把字符串作为一个参数,同时还需要获得字符串元素的起始和结束变量。

语法

For Output Code pre class

trimSpace() 函数存在于字符串包中,用于删除字符串中的字符之间的空格。该函数接受所需的字符串作为参数,并返回去除字与字之间的空格后得到的最终字符串。

算法

  • 第1步 – 首先,我们需要导入fmt和strings包。
  • 第2步 – 创建一个函数,将字符串和它的两个索引作为参数,在其中获得子串并返回子串。

  • 第 3步 – 启动main()函数。

  • 第 4 步 – 在main中初始化一个字符串变量并在其中存储数值。

  • 第 5 步 – 在屏幕上打印该变量。

  • 第 6步 – 现在通过传递必要的参数来调用子字符串函数,并将函数返回的结果存储在一个变量中。

  • 第7步 – 该变量包含给定索引之间的子字符串。在屏幕上打印它们。

例子

Go语言程序通过使用外部函数从字符串中获得一个子字符串

package main
import (
   "fmt"
   "strings"
)

// Substring function to get a substring from the string
func Substring(str string, start, end int) string {
   return strings.TrimSpace(str[start:end])
}
func main() {
   // initializing a string
   var str string = "Live young live free"
   fmt.Println("The given string is:", str)

   // Get substring from index 5 to 15
   substring := Substring(str, 5, 15)

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

输出

The given string is: Live young live free
The string values between the index 5 and 15 are: young live

方法2:使用索引的概念

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

算法

  • 第1步- 首先,我们需要导入fmt包。
  • 第2步 – 启动main()函数。

  • 第 3 步 – 在main()中初始化一个字符串变量并为其赋值

  • 第4 步 – 通过使用fmt.Println()函数在屏幕上打印这个数组。

  • **第 5步 -**** 进一步,初始化两个整数类型的变量来存储数组的起始和结束索引。

  • 第6步 – 将得到的结果存储在一个叫做result的变量中,并通过fmt.Println()函数将这个变量打印在屏幕上。

例子

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

package main
import "fmt"
func main() {

   // initializing a string
   var str string = "Prevention is better than cure"
   fmt.Println("The given array is:", str)

   var startInd int = 11
   var endInd int = 20

   result := str[startInd:endInd]
   fmt.Println()
   fmt.Println("The substring is required between", startInd, "and", endInd)

   fmt.Println("Array obtained after getting elements between the above indices are:", result)
}

输出

The given array is: Prevention is better than cure
The substring is required between 11 and 20
Array obtained after getting elements between the above indices are: is better

方法3:通过使用分割函数

在这个例子中,我们将使用split函数,以便从go语言的字符串中获得一个子串。

语法

func Split(str, sep string) []string

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

算法

  • 第1步 – 首先,我们需要导入fmt和strings包。
  • 第2步 – 然后启动main()函数。

  • 第 3步 – 在这个函数中初始化一个字符串变量并为其赋值。

  • 第 4 步 – 进一步在屏幕上打印字符串。

  • 第 5步 – 使用strings包中的split()函数

  • 第 6步 – 在一个新的变量中存储子串的索引元素。

  • 第 7步 – 现在,通过使用fmt.Println()函数在屏幕上打印子串。

例子

Go语言程序通过使用split函数从字符串中获得一个子串

package main
import (
   "fmt"
   "strings"
)

func main() {
   // Initializing a string
   var str string = "Never give up"
   fmt.Println("The given string is:", str)
   // Split string into a slice of substrings
   substrings := strings.Split(str, " ")
   substring := substrings[1]

   fmt.Println("The second element in the above string is:", substring)
}

输出

The given string is: Never give up
The second element in the above string is: give

结论

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