如何以不区分大小写的方式比较Go中的两个字符串值?

Pra*_*nna 1 string comparison go

如何比较两个不区分大小写的字符串?例如:两个"a" == "a""a" == "A"必须返回true.

icz*_*cza 14

有一个strings.EqualFold()函数执行不区分大小写的字符串比较.

例如:

fmt.Println(strings.EqualFold("aa", "Aa"))
fmt.Println(strings.EqualFold("aa", "AA"))
fmt.Println(strings.EqualFold("aa", "Ab"))
Run Code Online (Sandbox Code Playgroud)

输出(在Go Playground上试试):

true
true
false
Run Code Online (Sandbox Code Playgroud)

  • 注意:假设为 `utf-8`。 (2认同)

Pra*_*nna -1

找到了答案。将两个字符串转换为小写或大写并进行比较。 import "strings" strings.ToUpper(str1) == strings.ToUpper(str2)

  • 将字符串转换为小写或大写只能给出大致正确的结果 - Unicode 并不是这么简单。研究“土耳其 i”问题,作为深入兔子洞的起点。 (2认同)