golang如何去除多餘空白字符(含制表符)

看代碼吧~

//利用正則表達式壓縮字符串,去除空格或制表符
func compressStr(str string) string {
    if str == "" {
        return ""
    }
    //匹配一個或多個空白符的正則表達式
    reg := regexp.MustCompile("\\s+")
    return reg.ReplaceAllString(str, "")
}

補充:go語言去除字符串尾部所有空格

刷 leetcode 的一個算法題。

要求隻刪除字符串尾部的所有字符串. google 隻搜出通過 strings.Trim() 方法刪除前後空格或者刪除字符串前邊和後邊的固定子字符串。

方法

從字符串後端開始計算空格數量,然後用切片切掉:

func deleteTailBlank(str string) string {
 spaceNum := 0
 for i := len(str)-1; i >= 0; i-- {  // 去除字符串尾部的所有空格
  if str[i] == ' ' {
   spaceNum++
  } else {
   break
  }
 }
 return str[:len(str)-spaceNum]
}

補充:go:字符串去除空格和換行符 strings.Replace

看代碼吧~

package main 
import (
 "fmt"
 "strings"
) 
func main() {
 str := "這裡是 www\n.runoob\n.com"
 fmt.Println("-------- 原字符串 ----------")
 fmt.Println(str)
 // 去除空格
 str = strings.Replace(str, " ", "", -1)
 // 去除換行符
 str = strings.Replace(str, "\n", "", -1)
 fmt.Println("-------- 去除空格與換行後 ----------")
 fmt.Println(str)
}

func Replace(s, old, new string, n int) string

返回將s中前n個不重疊old子串都替換為new的新字符串,如果n<0會替換所有old子串。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: