Golang 从两端修剪字符串
字符串是Golang中表示字符序列的内置数据类型。它们使用双引号(”)定义,可以包含任何有效的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:使用内部函数()
在这个方法中,我们将使用Golang中的内部函数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
在这个示例中,我们将编写一个使用strings包中的trimspace()函数来从两侧修剪字符串的Go语言程序。如果我们的程序有前导和尾部空格,我们可以使用这个函数来移除它们。
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!
结论
我们已成功编译并执行了一个Golang程序,用于从字符串的两侧修剪字符串,并提供了示例。这里我们编写了三个程序。在第一个示例中,我们使用for循环来删除字符串的开头和结尾的元素。在第二个示例中,我们使用strings包中的一个内置函数Trim(),在最后一个示例中,我们演示了如何使用TrimSpace()库函数来删除字符串的前导和尾随空格。
极客笔记