Go語言程式:移除字串中所有空格


移除字串中的空格指的是移除空白符、製表符和其他空白字元,包括換行符。這在解析使用者輸入或處理特定格式的資料時非常有用,以及在進一步處理之前需要清理或標準化字串的其他情況下。消除字串中空格的方法有很多種。例如:使用TrimSpace函式可以消除字串開頭和結尾的空格;使用Replace函式可以將字串中的所有空格替換為空字串;使用regexp包可以消除所有空格。本文將介紹如何使用Go語言示例從字串中移除空格。

方法一:使用strings.Replace()函式

在此方法中,我們指示strings.Replace()函式將所有空格例項替換為第三個引數(-1)。之後,列印一個沒有空格的字串。讓我們透過示例和演算法來更好地理解這個概念。

語法

strings.Replace()

Go語言中的strings包提供了一個內建的Replace函式,可以用來將給定字串中的某個子字串替換為另一個子字串。Replace函式需要三個引數:原始字串、要替換的子字串和替換子字串。它返回一個新的字串,其中原始子字串的所有例項都被替換子字串替換。

演算法

  • 步驟1 − 建立一個main包,並在程式中宣告fmt(格式化包)和strings包,其中main生成可執行的示例,fmt幫助格式化輸入和輸出。

  • 步驟2 − 將要移除空格的字串設定為變數mystr的初始值。

  • 步驟3 − 使用Replace函式將每個空格字元(" ")替換為空字串("")。該函式被指示用第三個引數(-1)替換所有例項。

  • 步驟4 − 使用fmt.Println()函式(ln表示換行)在控制檯上列印更新後的字串。

示例

在這個例子中,我們使用Replace函式將每個空格字元(" ")替換為空字串("")。

package main
import (
   "fmt"
   "strings"
)

func main() {
   mystr := "Hi i am an engineer i work as a frontend developer" //create strings
   fmt.Println("The string before removal of whitespaces is:", mystr)
   mystr = strings.Replace(mystr, " ", "", -1)  //using this built-in function remove whitespaces
   fmt.Println("The string after removing whitespaces is:")
   fmt.Println(mystr) //remove string without whitespaces
}

輸出

The string before removal of whitespaces is: Hi i am an engineer i work as a frontend developer
The string after removing whitespaces is:
Hiiamanengineeriworkasafrontenddeveloper

方法二:使用regexp.Compile方法

在這個例子中,我們使用正則表示式從字串中移除所有空格。我們使用regexp包建立一個匹配一個或多個空格字元(\s+)的正則表示式模式。然後,我們使用ReplaceAllString函式將所有匹配模式的例項替換為空字串。之後,列印一個沒有空格的字串。讓我們透過示例和演算法來了解另一種從字串中移除空格的方法。

語法

regexp.Compile()

在Go語言中,可以使用regexp包中的Compile函式將正則表示式編譯成更有效的匹配形式。Compile函式將正則表示式模式作為單個引數,並返回一個*Regexp結構體。

演算法

  • 步驟1 − 建立一個main包,並在程式中宣告fmt(格式化包)和regexp包,其中main生成可執行的示例,fmt幫助格式化輸入和輸出。

  • 步驟2 − 在main函式中,將要移除空格的字串設定為變數mystr的初始值。

  • 步驟3 − 使用regexp建立一個匹配一個或多個空格字元的正則表示式模式。

  • 步驟4 − Compile("\s+")

  • 步驟5 − 使用reg使用ReplaceAllString方法將所有模式匹配項替換為空字串。

  • 步驟6 − 語法將類似於ReplaceAllString(str, "")來移除空格。

  • 步驟7 − 使用fmt.Println()函式(ln表示換行)在控制檯上列印更新後的字串。

示例

在這個例子中,我們將使用Go語言的regexp.Compile()函式來移除字串中的所有空格。

package main
import (
   "fmt"
   "regexp"
)

func main() {
   mystr := "Hi i am a frontend developer"  //create string
   fmt.Println("The string before removal of whitespaces is:", mystr)
   reg, _ := regexp.Compile("s+")  //compile 
   mystr = reg.ReplaceAllString(mystr, "") //remove whitespaces
   fmt.Println("The string after removal of whitespaces is:")
   fmt.Println(mystr) //print string without whitespaces
}

輸出

The string before removal of whitespaces is: Hi i am a frontend developer
The string after removal of whitespaces is:
Hi i am a frontend developer

結論

我們透過兩個例子演示瞭如何從字串中移除所有空格。第一個例子使用了內建函式strings.Replace()函式,第二個例子使用了regexp.Compile()函式。

更新於:2023年2月20日

5K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告