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() 的内置库函数来执行相应的结果。

更新于: 2023年2月17日

2K+ 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告