【发布时间】:2012-10-06 20:17:30
【问题描述】:
晚上好,我希望你能帮我解决这个问题,因为我正在努力寻找解决方案。
我有一个单词提供者,他给我希伯来语元音单词,例如 -
元音 - בַּיִת 不元音 - בית
元音 - הַבַּיְתָה 不元音 - הביתה
与我的提供者不同,我的用户通常不能输入希伯来元音(我也不希望他这样做)。用户故事是用户在提供的单词中寻找单词。问题是元音词和非元音词之间的比较。由于每个都在内存中由不同的字节数组表示,所以equals方法返回false。
我尝试研究 UTF-8 如何处理希伯来元音,它似乎只是普通字符。
我确实想将元音呈现给用户,所以我想将字符串原样保留在内存中,但在比较时我想忽略它们。有什么简单的方法可以解决这个问题吗?
【问题讨论】:
-
提供一些关于希伯来元音主题的额外背景可能会有所帮助(许多读者可能不熟悉该主题)。您可以维护一个您希望被视为平等的字符对列表是否合理?如果是这样,问题就简化为实现一个自定义字符串比较方法,该方法将这些等效字符考虑在内。
-
我将创建一个从字符串中去除元音的函数,然后在将字符串与 String.equals 进行比较之前使用此函数。 (这可以用 String.replace 和所有希伯来元音的 char 数组来完成)
-
您发现遗漏了哪些信息?我不想再次重新实现字符串的等号,也不想保留所有元音的映射,我宁愿从某个外部库中读取它...