Go语言程序:双侧修剪字符串
字符串是 Go 语言中表示字符序列的内置数据类型。它们使用双引号 (") 定义,可以包含任何有效的 Unicode 字符。本文将学习如何使用 Go 编程语言从字符串的两端进行修剪。
方法 1:使用 for 循环
在这种方法中,for 循环用于迭代字符串,然后将其与字符串的字符进行比较。如果它们相等,则从字符串中删除该字符并打印剩余的字符串。
算法
步骤 1 − 首先,我们需要导入 fmt 包。
步骤 2 − 然后开始 main() 函数。在 main() 内部初始化一个字符串变量并为其赋值。接下来在屏幕上打印字符串。
步骤 3 − 现在,初始化两个整数类型变量并使用 for 循环迭代字符串。然后将字符串的每个字符与要存储在字符串中的第一个和最后一个字符进行比较。
步骤 4 − 如果找到该字符,则存储其索引并中断 for 循环。同样,使用相同的功能来获取要从末尾删除的字符的索引。
步骤 5 − 现在初始化一个新的字符串来存储结果,并在其中存储从右索引和左索引的字符元素。
步骤 6 − 现在使用 fmt.Println() 函数在屏幕上打印这个新生成的字符串。
示例
在本例中,我们使用 for 循环从字符串的两端进行修剪。
package main import ( "fmt" ) func main() { var str string = "a this is a string b" fmt.Println("The given string is:\n", str) fmt.Println() var left, right int for i, c := range str { if c != 'a' { left = i break } } for i := len(str) - 1; i >= 0; i-- { if str[i] != 'b' { right = i break } } trimmed := str[left : right+1] fmt.Println("The string obtained after trimming the above string from both sides is:\n", trimmed) }
输出
The given string is: a this is a string b The string obtained after trimming the above string from both sides is: this is a string
方法 2:使用内置函数
在这种方法中,我们将使用 Go 语言中的内置函数 – trim() 和 trimspac()。这两个函数的解释如下:
语法
func Trim(str string, cutstr string) string
Trim() 函数位于 strings 包中,用于从字符串的两端删除元素。该函数接受两个参数,一个是需要删除元素的字符串,第二个是要删除的子字符串。然后,该函数在删除所有给定元素的出现后返回最终字符串。
func TrimSpace(str string) string
TrimSpace() 函数位于 strings 包中,用于删除字符串中前导和尾随的空格。该函数接受要删除空格的字符串作为参数,并在删除其空格后返回一个字符串。
算法
步骤 1 − 首先,我们需要导入 fmt 和 strings 包。
步骤 2 − 然后开始 main() 函数。在 main() 内部初始化一个字符串并为其赋值。接下来在屏幕上打印给定的字符串。
步骤 3 − 然后调用 strings 包中的 Trim() 函数,并传递字符串以及要删除的子字符串。
步骤 4 − 将获得的新字符串存储在一个新变量中,并使用 fmt.Println() 函数在屏幕上打印获得的最终字符串。
示例 1
在下面的示例中,我们将使用 trim 函数使用 Go 编程语言从字符串的两端进行修剪。
package main import ( "fmt" "strings" ) func main() { var str string = "remove this Hello World! remove this" fmt.Println("The given string is:\n", str) var trimmed string = strings.Trim(str, "remove this") fmt.Println() fmt.Println("The string obtained after removing the characters from start and end is:\n", trimmed) }
输出
The given string is: remove this Hello World! remove this The string obtained after removing the characters from start and end is: Hello World!
示例 2
在本例中,我们将编写一个 Go 语言程序,使用 strings 包中的 trimspace() 函数从字符串的两端进行修剪。如果我们的程序有前导和尾随空格,那么我们可以使用此函数来删除它们。
package main import ( "fmt" "strings" ) func main() { var str string = " Hello World! " fmt.Println("The given string is:\n", str) var trimmed string = strings.TrimSpace(str) fmt.Println() fmt.Println("The string obtained after removing the leading and trailing white spaces from the above string is:\n", trimmed) }
输出
The given string is: Hello World! The string obtained after removing the leading and trailing white spaces from the above string is: Hello World!
结论
我们已经成功编译并执行了一个 Go 语言程序,用于从字符串的两端进行修剪,并附带示例。在这里,我们编写了三个程序。在第一个示例中,我们使用 for 循环删除字符串开头和结尾的元素。在第二个示例中,我们使用 strings 包中的内置函数 Trim(),在最后一个示例中,我们演示了如何使用 TrimSpace() 库函数从字符串中删除前导和尾随空格。