在GoLang中,检查字符串中的特殊字符需要特定的方法。当遇到从用户输入获得的字符串时,确保其有效性通常需要验证是否存在恶意或不需要的字符。本文探讨了两种检测字符串中特殊字符的方法。
strings.ContainsAny() 函数确定字符串是否包含所提供的任何字符字符集。要检查特殊字符,请将字符串和特殊字符集传递给函数。例如:
package main
import "strings"
func main() {
fmt.Println(strings.ContainsAny("Hello World", ",|")) // false
fmt.Println(strings.ContainsAny("Hello, World", ",|")) // true
fmt.Println(strings.ContainsAny("Hello|World", ",|")) // true
}
为了检查字符串是否包含非 ASCII 字符,strings.IndexFunc() 被证明是有用的。它返回满足所提供函数的第一个字符的索引。传递一个检查字符是否超出 ASCII 字符范围的函数:
package main
import (
"fmt"
"strings"
)
func main() {
f := func(r rune) bool {
return r 'z'
}
if strings.IndexFunc("HelloWorld", f) != -1 {
fmt.Println("Found special char") // false
}
if strings.IndexFunc("Hello World", f) != -1 {
fmt.Println("Found special char") // true
}
}
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3