[英]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.