匹配间断字符

时间:2013-07-03 06:55:15

标签: string compare ascii punctuation

我正在寻找一种方法来比较字符串值,其中字符串中的某些字符可能是标点符号,例如éô,但是,应该忽略该惩罚。例如,在搜索名称列表时,用户可能会提供条件Rene,该条件应与列表条目ReneRené匹配(即ASCII 101和233应视为相同的内容)

感谢名单

编辑:最好是所有UNICODE字符。我想有人可以[应该]为此实现一些自定义解决方案;我只是想知道是否存在已经存在的东西 - 几乎像Char.GetBaseCharacterFromPunctuatedCharacter(char):P

1 个答案:

答案 0 :(得分:1)

你没有说你正在使用哪种语言,所以我用java回答。其他语言也有类似的结构。另外,你的意思是变音符号,而不是punctuation(。,?!...)

collator类支持比较的力量。例如,对于捷克语,变音符号的差异被认为是次要的差异。

或者您可能希望在比较之前通过unicode规范分解(将所有字符分解为基本字母+变音符号)删除任何变音符号,然后通过简单的正则表达式删除变音符号(有关{{1的说明,请参阅this SO question }})。在java中:

InCombiningDiacriticalMarks