Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android 2.2中,如何使用正则表达式忽略变音符号?_Android_Diacritics - Fatal编程技术网

在Android 2.2中,如何使用正则表达式忽略变音符号?

在Android 2.2中,如何使用正则表达式忽略变音符号?,android,diacritics,Android,Diacritics,我需要使用安卓2.2(API 8),我已经看到Normalizer.normalize(text,Normalizer.Form.NFD)只能从安卓API 9获得 我可以在正则表达式中添加什么来忽略重音 SpannableStringBuilder stringBuilder = new SpannableStringBuilder(text); for (String keyword : keywords.keySet()) { String caseInsensitiveRege

我需要使用安卓2.2(API 8),我已经看到
Normalizer.normalize(text,Normalizer.Form.NFD)
只能从安卓API 9获得

我可以在正则表达式中添加什么来忽略重音

SpannableStringBuilder stringBuilder = new SpannableStringBuilder(text);

for (String keyword : keywords.keySet()) {

    String caseInsensitiveRegex = "(?i)\\b" + keyword + "\\b";
    Pattern pattern = Pattern.compile(caseInsensitiveRegex);
    Matcher m = pattern.matcher(stringBuilder);

    while (m.find()){

        // Do some stuff

    }

}
感谢您的帮助;)

仅适用于Android API 9


Android是一个开源项目。没有任何东西可以阻止你获取API 9的这一部分并将其直接放入你的应用程序中,这样你就不再依赖API了,而我目前认为在你的情况下,这样做没有任何障碍。

我不同意这种回答。若它像你们说的那个样简单,那个么每个人都要使用API级别1和最新的API代码来兼容所有android版本。正如我在Google PlayStore上看到的,几乎所有的应用程序都不兼容API级别1;)无论如何,如果简单的话,在这个例子中,抓住我想要使用的API9部分,我期待的答案是API9的这一部分。这个答案没有什么不好的。许多模块都可以很容易地进行后移植——当然,这并非完全是因为缺少API,但一旦您获得了所有内容的源代码,您就基本上能够做到这一点(然而,您需要投入的工作量有时可能很高)