Go是否具有不区分大小写的字符串contains()函数?

时间:2017-06-16 18:20:07

标签: go

我希望能够确定stringB是否是stringA的不区分大小写的子字符串。通过Go strings pkg查看,我能得到的最接近的是strings.Contains(strings.ToLower(stringA), strings.ToLower(stringB)。是否有一个不那么冗长的替代品,我没有看到?

2 个答案:

答案 0 :(得分:3)

如果只是你不喜欢的冗长,那么如何让你的代码格式更清晰,例如:

strings.Contains(
    strings.ToLower(stringA),
    strings.ToLower(stringB),
)

或者将其隐藏在您自己的utils(或其他)包中的函数中:

package utils

import "strings"

func ContainsI(a string, b string){
    return strings.Contains(
        strings.ToLower(a),
        strings.ToLower(b),
    )
}

答案 1 :(得分:0)

另一个选择:

package main
import "regexp"
func main() {
   o := regexp.MustCompile("(?i)we")
   b := o.MatchString("Wednesday")
   println(b)
}

https://golang.org/pkg/regexp/syntax