2010-09-06 55 views
2

我想知道如何在C中使用C语言中的变音符号来执行人们全名的可靠的字母排序(对于列表框)?C中的变音符号按字母顺序排列#

在此先感谢。

问题:那么你只是想把作为“原始”字母的变音符号? (例如:João和Joao一样)? - NullUserException

一个:我想对待他们,他们应该在我定义的语言来对待,尊重字母排序的,人们日常应用的规则。我确定它是用每种语言的语法写成的。谢谢。 - 队列

+0

所以,你只是想把作为“原始”字母的变音符号? (例如:João和Joao一样)? – NullUserException 2010-09-06 21:54:40

+0

它是按字母顺序而不是语法,但是如果大量使用变音符号,大多数字母语言都会有这些顺序。一些非正式的,一些正式的,一些有不止一种正式的(一些有不同的字典排序,但“电话目录”排序的名称不同)。 – 2010-09-07 02:42:45

回答

0

您可以使用s.Normalize(NormalizationForm.FormD)来规范字符串s,将重音字符分隔为无重音字符,后跟重音符号。然后,您可以使用CharUnicodeInfo.GetUnicodeCategory(c) == UnicodeCategory.NonSpacingMark识别规范化的s中的重音字符c。鉴于此,您可以实现自己的字符串比较运算符,以便根据重音放置任何需要的顺序。