【发布时间】:2018-12-02 21:45:17
【问题描述】:
如何通过在没有正确变音符号的情况下忽略相同单词的存在来从数组中获取 uniq 值?
现在它是这样工作的:
["Poznan", "Poznań", "Gdańsk"].uniq
=> ["Poznan", "Poznań", "Gdańsk"]
这就是我想要实现的目标:
["Poznan", "Poznań", "Gdańsk"].uniq
=> ["Poznań", "Gdańsk"]
【问题讨论】:
-
["Poznań", "Poznañ", "Pôznan"].uniq应该返回什么? -
波兹南,我对波兰语特别感兴趣。
-
好吧,你可以从指定规则开始。
-
根据我刚刚从谷歌快速搜索中了解到的情况,波兰字母表中的小写字母与英文字母表有两个不同之处:1)前者没有英文字母“q "、"v" 和 "x"; 2) 前者有附加字母“ą”、“ć”、“ę”、“ł”、“ń”、“ó”、“ś”、“ź”和“ż”。假设我们要下载一个英语到波兰语词典,并开始尝试根据一组匹配规则找到一个与给定英语单词
word不同的波兰语单词。如果在波兰语词典中找到word,我们显然有一个匹配项。 (续) -
...如果
word匹配/[qvx]/似乎没有类似的波兰语单词(除非规则以波兰语字母显示“q”、“v”和“x”映射。)剩下的要检查的情况是查看波兰语词典中是否存在针对规则指定的每个字符替换组合的单词。例如,如果word #=> "conifer"可能必须考虑用一个或多个值替换散列{ "c"=>"ć", "o"=>"ó", "n"=>"ń", "f"=>"ł", "e"=>"ę", }中的键的所有组合,其中有2**5-1 #=> 31。
标签: arrays ruby unicode diacritics uniq