Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在任何情况下突出显示单词(大写、小写部分或全部)?_Java_Android_Regex - Fatal编程技术网

Java 如何在任何情况下突出显示单词(大写、小写部分或全部)?

Java 如何在任何情况下突出显示单词(大写、小写部分或全部)?,java,android,regex,Java,Android,Regex,我有EditText在段落内搜索searchKeyword(段落在SQLite数据库内) String Contentstr=段落.replaceAll(searchKeyword,“+searchKeyword+”); setText(Html.fromHtml(Contentstr)); 上面的代码高亮显示如下: 当我搜索“Hi-Hi”(searchKeyword=“Hi-Hi”)时,数据库搜索功能返回任何大小写字母(我的意思是“Hi-Hi”或“Hi”或诸如此类),它会高调“Hi-Hi”但

我有EditText在段落内搜索
searchKeyword
(段落在SQLite数据库内)

String Contentstr=段落.replaceAll(searchKeyword,“+searchKeyword+”);
setText(Html.fromHtml(Contentstr));
上面的代码高亮显示如下:

当我搜索“Hi-Hi”(searchKeyword=“
Hi-Hi
”)时,数据库搜索功能返回任何大小写字母(我的意思是“
Hi-Hi
”或“
Hi
”或诸如此类),它会高调“
Hi-Hi
”但会替换所有其他“
Hi
”,“
Hi
”,。。etc进入searchKeyword=“
Hi-Hi


我不想这样替换。
当我搜索“
Hi-Hi
”时,它必须高亮显示“
Hi-Hi
”和其他“
Hi-Hi
”或“
Hi-Hi
”而不将其他替换为“
Hi

,如果您想使您的正则表达式不区分大小写,请在它的开头添加
(?
)。您还可以使用
$index
替换匹配的零件,其中
index
是匹配零件的索引

利用这些信息,你可以尝试

String Contentstr = paragraph.replaceAll("(?i)"+searchKeyword, 
                       "<font color=\"red\">$0</font>");

0美元是多少?它的确切含义是什么?@DentalBoom
$0
表示正则表达式找到的字符串。0是0的索引,代表整个比赛。非常感谢您。先生。。。。。。我不能投票支持bcoz我名声不好很抱歉^_^
String Contentstr = paragraph.replaceAll("(?i)"+searchKeyword, 
                       "<font color=\"red\">$0</font>");
String Contentstr = paragraph.replaceAll("(?i)"+Pattern.quote(searchKeyword), 
                       "<font color=\"red\">$0</font>");