我需要比较 Go 中的字符串。问题是:我想将带重音的单词 (cafe) 与其非重音形式 (cafe) 进行比较。我要做的第一件事就是将我的重音转换string
为非重音形式:
你可以在这里运行代码:https: //play.golang.org/p/-eRUQeujZET
但是每次我在一个字符串中进行这种转换时,它最终都会添加更多的符文。上面的示例打印:
bytes: [99 97 102 101 0] string: cafe
由于我需要将此进程返回的字符串与首先不带“é”的对应字符串进行比较,因此我需要rune
从[]byte
.
在运行了一些测试之后,我发现最后一个 0(有时它添加了多个)不会改变字符串表示。
我错过了什么吗?我可以只删除末尾的所有零[]byte
吗?
这是我删除 0 并比较字符串的代码:
https://play.golang.org/p/HoueAGI4uUx
由于我们不能在这个领域单独工作,因此我阅读了以下文章以了解我现在所处的位置:
https://blog.golang.org/strings
https://blog.golang.org/normalization