Kip*_*ipz 10 string special-characters go
从输入中读取字符串后,我需要检查其中是否有特殊字符
Jos*_*hua 13
你可以使用strings.ContainsAny来查看符文是否存在:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ContainsAny("Hello World", ",|"))
fmt.Println(strings.ContainsAny("Hello, World", ",|"))
fmt.Println(strings.ContainsAny("Hello|World", ",|"))
}
Run Code Online (Sandbox Code Playgroud)
或者,如果要检查是否只有ASCII字符,可以使用strings.IndexFunc:
package main
import (
"fmt"
"strings"
)
func main() {
f := func(r rune) bool {
return r < 'A' || r > 'z'
}
if strings.IndexFunc("HelloWorld", f) != -1 {
fmt.Println("Found special char")
}
if strings.IndexFunc("Hello World", f) != -1 {
fmt.Println("Found special char")
}
}
Run Code Online (Sandbox Code Playgroud)
Kip*_*ipz -2
我最终做了这样的事情
alphabet := "abcdefghijklmnopqrstuvwxyz"
alphabetSplit := strings.Split(alphabet, "")
inputLetters := strings.Split(input, "")
for index, value := range inputLetters {
special:=1
for _, char :=range alphabetSplit{
if char == value {
special = 0
break
}
}
Run Code Online (Sandbox Code Playgroud)
它可能有什么问题,因为因为我将它用于特定的东西,所以我必须编辑才能将其发布在这里