为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查字符串中是否存在特殊字符或者字符是否为 GoLang 中的特殊字符

如何检查字符串中是否存在特殊字符或者字符是否为 GoLang 中的特殊字符

Go
翻阅古今 2021-11-01 11:01:02
从输入中读取字符串后,我需要检查其中是否有特殊字符
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您可以使用 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", ",|"))

}

或者如果你想检查是否只有 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")

    }

}


查看完整回答
反对 回复 2021-11-01
?
白衣非少年

TA贡献1155条经验 获得超0个赞

根据您对special character的定义,最简单的解决方案可能是for range对您的字符串(产生符文而不是字节)进行循环,并为每个符文检查它是否在您的允许/禁止符文列表中。



查看完整回答
反对 回复 2021-11-01
  • 3 回答
  • 0 关注
  • 576 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信