Golang的例子 - 从字符串中删除/strp空格

1,722 阅读2分钟

在这篇博文中,你将学习三个使用Strings 包内置函数的程序

  • 删除一个字符串中的所有白点
  • 删除一个字符串的前导和尾部的空格
  • 从一个给定的字符串中删除重复的空格/制表符/换行符

从一个字符串中删除所有空白的程序示例

这个程序是为了从一个给定的字符串中删除所有的白色或空位,并返回新的字符串。标准内置的Strings 包提供了各种实用的字符串函数。Replace 是其中的一个函数,用于替换给定字符串中的空位并返回一个新的字符串。

以下是Golang中Replace函数的语法

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

返回给定字符串的副本,并替换掉一个空字符串。

下面是一个使用字符串替换函数去除字符串中的空位的例子。

package main  
  
import (  
 "fmt"  
 "strings"  
)  
  
func main() {  
 str := "  This is test example "  
 fmt.Println("Original String: ", str)  
 fmt.Println("Output String: ", strings.Replace(str, " ", "", -1))  
}  

当上述例子的代码被编译和执行时,输出如下

Original String:    This is test example  
Output String:  Thisistestexample  

从字符串中删除前导和尾部空格的示例程序

这个程序是为了从一个给定的字符串中删除开始和结束的空格,并返回新的字符串。

标准的内置*字符串包*提供了各种实用的字符串函数。TrimSpace 是其中一个函数,用于替换给定字符串中的前导和尾部空位,并返回新字符串。

以下是替换函数的语法

func TrimSpace(s string) string  

返回一个删除了所有开头和结尾空格的给定字符串的片断。

下面是一个使用Strings TrimSpace函数从字符串中去除前导和尾部空位的例子

package main  
  
import (  
 "fmt"  
 "strings"  
)  
  
func main() {  
 str := "  This is test example  "  
 fmt.Println("Original String: ", str)  
 fmt.Println("Output String: ", strings.TrimSpace(str))  
}  

当上述例子的代码被编译和执行时,输出如下

Original String:    This is test example  
Output String:  This is test example  

这个程序从一个给定的字符串中去除重复的空格(超过一个空格),返回一个只有一个空格的字符串。

该程序检查空格中的Tab和换行符。

在下面的程序中:

  • 使用regex包和MustCompile函数创建了一个正则表达式模式*。*

  • 该模式是 \s+, \s代表与制表符或换行符相匹配的单个字符,+检查一个或多个字符。

  • 最后调用ReplaceAllString,它返回一个新的字符串,并去除重复的空格字符。

    下面是一个从给定字符串中删除重复空格子串的例子 ReplaceAllString

package main  
  
import (  
 "fmt"  
 "regexp"  
)  
  
func main() {  
 str := "  This is test             example  "  
 singleSpacePattern := regexp.MustCompile(`\s+`)  
  
 fmt.Println("Original String: ", str)  
 fmt.Println("Output String: ", singleSpacePattern.ReplaceAllString(str, " "))  
}  

输出是

Original String:    This is test             example  
Output String:   This is test example  

总结

在这篇文章中,你学会了用多种方法去除一个给定字符串的空格。