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() 庫函式從字串中刪除前導和尾隨空格。

更新於: 2023年2月17日

4K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.