java高亮顯示關鍵字不區分大小寫(但不改變原文字母的大小寫)---關鍵字分詞功能(自寫算法:關鍵字之間有子集的情況和關鍵字首尾拼接)


用戶輸入了重復的關鍵字發現程序處理有問題,存在問題

1:改變了原文字母大小寫(最初解決方案是正則 repalceall)

2:關鍵字重復(包括 重復及含有)

3:對關鍵字的有效性處理(如全角","問題,空數據問題)

改進

1:不改變原文的字母大小寫 2:關鍵字重復(包括 重復及含有) 3:對關鍵字的有效性處理(如全角","問題,空數據問題)

程序實際運行效果:

2020-03-17修正關鍵字之間有子集的情況和關鍵字首尾拼接情況:

修正算法:

應用截圖:

以下為單詞方式:

package reyo.sdk.utils.test.algorithms;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**    
* <B>創  建 人:</B>AdministratorReyoAut <BR>
* <B>創建時間:</B>2020年3月28日 上午11:45:01<BR>
* 
* @author ReYo
* @version 1.0
*/
public class reyo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String source = "aa reyo Reyo bb rEYO";
        String patternstring = "reyo";
        System.out.println(IgnoreCaseReplace(source, patternstring));

    }

    /**
    * java實現不區分大小寫高亮替換
    * @param source
    * @param patternstring
    * @return
    */
    public static String IgnoreCaseReplace(String source, String patternstring) {
        Pattern p = Pattern.compile(patternstring, Pattern.CASE_INSENSITIVE);
        Matcher mc = p.matcher(source);
        StringBuffer sb = new StringBuffer();
        while (mc.find()) {
            mc.appendReplacement(sb, "<font color='red' >" + mc.group() + "</font>");
        }
        mc.appendTail(sb);
        return sb.toString();
    }

}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM