Как я могу выполнить поиск шаблона без учета регистра и замену с сохранением регистра? - PullRequest
2 голосов
/ 06 января 2012

Вот сценарий.

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 в виде строки с тем же регистром, что и в исходной строке, но он должен иметь тег Font.

Возможно ли это сделать?

Ответы [ 2 ]

6 голосов
/ 06 января 2012

Вы можете использовать обратную ссылку. Что-то вроде:

String strFormatted = strText.replaceAll(
    "(?i)(" + searchText + ")", 
    "<font color='red'>$1</font>");
0 голосов
/ 06 января 2012

Я хотел бы предложить альтернативу, используя 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...