Go 语言程序从右侧修剪字符串
字符串是 Go 语言中表示字符序列的内置数据类型。它们使用双引号 (") 定义,可以包含任何有效的 Unicode 字符。在本文中,我们将编写一个 Go 语言程序来从右侧修剪字符串。我们将使用 for 循环和 Go 语言中提供的内置库函数来实现这一点。
方法 1:使用用户定义函数
在这种方法中,for 循环用于迭代字符串,然后它将字符串的字符与要从右侧删除的字符进行比较。如果它们相等,则从字符串中删除该字符并打印剩余的字符串。
算法
步骤 1 − 首先,我们需要导入 fmt 包。
步骤 2 − 然后开始 main() 函数。在 main() 内部初始化一个字符串并为其赋值。然后使用 fmt.Println() 函数在屏幕上打印字符串。
步骤 3 − 现在,初始化一个整数类型变量并使用 for 循环迭代字符串。然后将字符串的每个字符与要存储在字符串中的右侧字符进行比较。
步骤 4 − 如果找到该字符,则存储其索引并中断 for 循环。
步骤 5 − 现在初始化一个新字符串来存储结果,并在其中存储从右侧索引字符的索引开始的字符元素。
步骤 6 − 现在使用 fmt.Println() 函数在屏幕上打印这个新形成的字符串。
示例
在此示例中,我们将编写一个 Go 语言程序,使用 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 right int for i := len(str) - 1; i >= 0; i-- { if str[i] != 'b' { right = i break } } trimmed := str[:right] 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: a this is a string
方法 2:使用内部函数
在这种方法中,我们将使用 Go 语言中 Trim 函数的内部函数 - TrimRight 和 Trimsuffix。这些语法在下面解释 -
语法
func TrimRight(str string, cutstr string) string
TrimRight() 函数存在于 strings 包中,用于从其右侧删除元素。该函数接受两个参数,一个是需要删除元素的字符串,另一个是要删除的子字符串。然后,该函数在从右侧删除给定子字符串的出现次数后返回最终字符串。
func TrimSuffix(str, suffix string) string
TrimSuffix() 函数是 Go 语言中 strings 包中的内置函数,用于从字符串中删除特定后缀。该函数接受两个变量作为参数,一个是需要删除元素的字符串,另一个是要删除的后缀子字符串。删除子字符串后,该函数返回字符串作为输出。
算法
步骤 1 − 首先,我们需要导入 fmt 和 strings 包。
步骤 2 − 然后,我们需要开始 main() 函数。在 main() 内部初始化一个字符串并为其赋值。然后在屏幕上打印字符串。
步骤 3 − 现在,初始化一个字符串类型变量并调用 TrimRight() 函数。将字符串以及要删除的子字符串作为参数传递给该函数,并将最终结果存储在新初始化的变量中。
步骤 4 − 现在,打印一个新行并在屏幕上打印上面获得的字符串,使用 fmt.Println() 函数。
示例 1
在此示例中,我们将编写一个 Go 语言程序,使用 strings 包中的 TrimRight() 函数从右侧修剪字符串。
package main import ( "fmt" "strings" ) func main() { var str string = "a this is a string a" fmt.Println("The given string is:\n", str) var trimmed string trimmed = strings.TrimRight(str, "a") fmt.Println() 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 a The string obtained after trimming the above string from both sides is: a this is a string
示例 2
在此示例中,我们将编写一个 Go 语言程序,使用 strings 包中的 TrimSuffix() 函数从右侧修剪字符串。
package main import ( "fmt" "strings" ) func main() { var str string = "Hello, world." fmt.Println("The given string is:\n", str) var trimmed string var suffix string = " world." trimmed = strings.TrimSuffix(str, suffix) fmt.Println() fmt.Println("The string obtained after trimming the above string from the right is:\n", trimmed) }
输出
The given string is: Hello, world. The string obtained after trimming the above string from the right is: Hello,
结论
我们已经成功地编译并执行了一个 Go 语言程序,用于从右侧修剪字符串,并附带示例。我们编写了三个示例。我们在本文中编写了三个程序。在第一个示例中,我们使用 for 循环从字符串中删除元素,在另外两个示例中,我们使用 strings 包中名为 TrimRight() 和 TrimSuffix() 的内置库函数来执行相应的结果。