看代码吧~
1
2
3
4
5
6
7
8
9
|
//利用正则表达式压缩字符串,去除空格或制表符 func compressStr(str string) string { if str == "" { return "" } //匹配一个或多个空白符的正则表达式 reg := regexp.MustCompile("\\s+") return reg.ReplaceAllString(str, "") } |
补充:go语言去除字符串尾部所有空格
刷 leetcode 的一个算法题。
要求只删除字符串尾部的所有字符串. google 只搜出通过 strings.Trim() 方法删除前后空格或者删除字符串前边和后边的固定子字符串。
方法
从字符串后端开始计算空格数量,然后用切片切掉:
1
2
3
4
5
6
7
8
9
10
11
|
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
看代码吧~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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) } |
1
|
func Replace(s, old, new string, n int) string |
返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/chanmufeng/article/details/78675964