在Android中存储和使用依赖于语言环境的正则表达式的最佳方法是什么?

时间:2011-02-26 14:19:40

标签: android regex localization

我在项目中使用了一堆依赖于语言环境的正则表达式,

例如(最简单的一个):

\b(one|two|three|...|\d+)\b

所以我希望将这些正则表达式存储在values-en/re.xml之类的内容中,然后通过Context / R.re.*使用它们来解析用户输入的字符串。

<string name="number_re">\b(one|two|three|...|\d+)\b</string>

因此,如果他使用俄语语言环境并输入一些俄语短语,我会使用values-ru/re.xml,其价值如下:

<string name="number_re">\b(один|два|три|...|\d+)\b</string>

它是否是正确的预期方式(并且对于字符串资源和正则表达式中使用的某些特殊字符不会失败)或者还有另一种方法可以做到这一点我错过了吗?

1 个答案:

答案 0 :(得分:1)

我不知道什么是正确的或不正确的(这更像是应用案例的app)。这似乎是一种合理的方法。我的意思是您已将算法的特定于语言环境的方面分离到具有按语言环境加载内容的机制的位置。从技术上讲,这些正则表达式是资源。如果它适合你并且你现在不受它的阻碍,我不会预见到这种情况会在以后引起问题。