2016-11-27 73 views
2

我想要在TextView中找到帶有Nunation的阿拉伯字詞,並突出顯示此內容,例如如果我的單詞是「اشهد」whitout Nunation我想要在「واشهدانلا الهالاالله「與Nunation。在帶有Nunation的字符串中查找阿拉伯文字

+1

我可以建議使用的最好的東西是正則表達式....我會嘗試爲您的需要找到正確的正則表達式 –

回答

0

搜索ولد輸入: 公共無效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()); 
    } 
} 
1

你好請參考下面的類我創建。它非常基本,並且不會爲內存消耗而煩惱。你們可以優化你自己。

http://freshinfresh.com/sample/ABHArabicDiacritics.java

如果你想檢查無nunation(harakath)包含在一個阿拉伯語的字符串,

ABHArabicDiacritics objSearchd = new ABHArabicDiacritics(); 
objSearchdobjSearch.getDiacriticinsensitive("وَ اَشْهَدُ اَنْ لا اِلهَ اِلاَّ اللَّهُ").contains("اشهد"); 

如果你想返回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類和享受。

如果你們要求,我會花更多的時間來獲得更多的功能。

謝謝