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+ 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.