我想在 TextView 中找到一个带有 Nunation 的阿拉伯语单词并突出显示它,例如,如果我的单词是“اشهد”而没有 Nunation,我想在带有 Nunation 的“وَ اَشْهَدُ اَنْ لا اِلهَ اِلاَّ الَّهُ”中找到单词位置。
问问题
233 次
2 回答
2
嗨,请参阅下面我创建的课程。它是如此基本,并没有担心内存消耗。你们可以优化自己。
http://freshinfresh.com/sample/ABHArabicDiacritics.java
如果您想检查不包含 nunation(harakath) 的阿拉伯语字符串,
ABHArabicDiacritics objSearchd = new ABHArabicDiacritics();
objSearchdobjSearch.getDiacriticinsensitive("وَ اَشْهَدُ اَنْ لا اِلهَ اِلاَّ اللَّهُ").contains("اشهد");
如果您想在 String 中返回 Highlighed 或 redColored 搜索的部分。使用下面的代码
ABHArabicDiacritics objSearch = new ABHArabicDiacritics( وَ اَشْهَدُ اَنْ لا اِلهَ اِلاَّ اللَّهُ, اشهد);
SpannableString spoutput=objSearch.getSearchHighlightedSpan();
textView.setText(spoutput);
要查看搜索文本的开始和结束位置,请使用以下方法,
/** to serch Contains */
objSearch.isContain();//
objSearch.getSearchHighlightedSpan();
objSearch.getSearchTextStartPosition();
objSearch.getSearchTextEndPosition();
请复制共享的java类并享受。
如果你们要求,我会花更多时间来获得更多功能。
谢谢
于 2016-11-27T11:25:08.637 回答
0
在 INPUT 中搜索 ولد:public void RegexMatches() {
String INPUT ="ى لَیْلَهِ تَمامِهِ وَکَمالِهِ فَما کانَتْ اِلاّ ساعَهً وَاِذا بِوَلَدِىَ الْحَسَنِ قَدْ" ;
Pattern p = Pattern.compile("و[\\u064B-\\u064F\\u0650-\\u0656]*ل[\\u064B-\\u064F\\u0650-\\u0656]*د");
Matcher m = p.matcher(INPUT); // get a matcher object
int count = 0;
while(m.find()) {
count++;
System.out.println("Match number "+count);
System.out.println("start(): "+m.start());
System.out.println("end(): "+m.end());
}
}
于 2016-11-27T09:48:04.443 回答