String 排序字符串时忽略字符重音
我正在编写一个golang程序,它获取一个字符串列表,并按字符串的第一个字符将它们排序到桶列表中。但是,我希望它将重音字符与它最相似的非重音字符分组。因此,如果我有一个存储字母a的桶,那么我希望包含以Á开头的字符串String 排序字符串时忽略字符重音,string,go,unicode-string,String,Go,Unicode String,我正在编写一个golang程序,它获取一个字符串列表,并按字符串的第一个字符将它们排序到桶列表中。但是,我希望它将重音字符与它最相似的非重音字符分组。因此,如果我有一个存储字母a的桶,那么我希望包含以Á开头的字符串 Go是否有任何内置的功能来确定这一点,或者我最好的选择是只使用一个包含所有字符及其重音变体的大型switch语句?看起来有一些插件包用于此。这里有一个例子 package main import ( "fmt" "golang.org/x/
Go是否有任何内置的功能来确定这一点,或者我最好的选择是只使用一个包含所有字符及其重音变体的大型switch语句?看起来有一些插件包用于此。这里有一个例子
package main
import (
"fmt"
"golang.org/x/text/collate"
"golang.org/x/text/language"
)
func main() {
strs := []string{"abc", "áab", "aaa"}
cl := collate.New(language.English, collate.Loose)
cl.SortStrings(strs)
fmt.Println(strs)
}
产出:
[aaa áab abc]
此外,请查看以下有关文本规范化的参考资料:
祝您的switch语句好运!每个字符都有无数的变化(超过一百个),Unicode也在不断发展!最重要的是,有组合口音给无限的可能性。