簡體   English   中英

如何執行不區分大小寫的模式搜索和保留大小寫的替換?

[英]How can I perform case-insensitive pattern search and case-preserving replacement?

這是場景。

String strText = "ABC abc Abc aBC abC aBc ABc AbC";
// Adding a HTML content to this
String searchText = "abc";
String strFormatted = strText.replaceAll(
    "(?i)" + searchText, 
    "<font color='red'>" + searchText + "</font>");

這將返回一個字符串,其中所有單詞均為小寫,當然為紅色。 我的要求是將strFormatted為String,其大小寫與Original String相同,但應具有Font標記。

是否有可能做到這一點 ?

您可以使用反向引用。 就像是:

String strFormatted = strText.replaceAll(
    "(?i)(" + searchText + ")", 
    "<font color='red'>$1</font>");

我想建議使用ArrayList的替代方法

String [] strText = {"ABC", "abc","Abc", "aBC", "abC", "aBc", "ABc", "AbC"};

    ArrayList<String> abc = new ArrayList<String> ();
       for(int j=0;j<8;j++)
        {

           if("abc".equalsIgnoreCase(strText[j]))
                  {
                      abc.add("<font color='red'>"+strText[j]+"</font>");
                  }
        }

   String strFormatted = abc.toString();
   System.out.println(strFormatted);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM