常用的字符串过滤方法
- Trim 从两端过滤
- TrimSpace 过滤空字符串
- TrimLeft 过滤左边的
- TrimRight 过滤右边的
package main
import (
"fmt"
"strings"
)
var str = " 你好(hello)Go "
func main() {
fmt.Println(len(str)) // 17
fmt.Println(len(strings.Trim(str, " "))) //15
fmt.Println(len(strings.TrimSpace(str))) // 15
fmt.Println(len(strings.TrimLeft(str, " "))) // 16
fmt.Println(len(strings.TrimRight(str, " "))) // 16
}
TrimLeft 和 TrimPrefix 的区别
主要讲的是 TrimLeft,Trim,TrimRight,TrimSpace 与 TrimPrefix,TrimSuffix 的区别
前面一系列的方法可以理解为贪婪匹配,后者可以理解为 非贪婪匹配
文章来源:https://www.toymoban.com/news/detail-604023.html
package main
import (
"fmt"
"strings"
)
var str = "abcabc你好(hello)Go"
func main() {
fmt.Println(strings.TrimLeft(str, "abc")) // 你好(hello)Go
fmt.Println(strings.TrimPrefix(str, "abc")) // abc你好(hello)Go
}
TrimFunc
TrimFunc(s string, f func(rune) bool) string 提供更灵活的过滤方式,其通过对 s进行 range 迭代,对其逐字符进行 f 调用,将其调用结果为 true的字符过滤掉,其变种包括(TrimLeftFunc,TrimRightFunc)
文章来源地址https://www.toymoban.com/news/detail-604023.html
package main
import (
"fmt"
"regexp"
"strings"
)
var str = "你好(hello)Go"
func main() {
reg := regexp.MustCompile("^[\u4e00-\u9fa5]$")
res := strings.TrimFunc(str, func(r rune) bool {
return reg.MatchString(string(r))
})
fmt.Println(res) //(hello)Go
}
到了这里,关于Golang字符串过滤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!