gpt4 book ai didi

java String, replaceall() 但保留原始字符串中的大小写

转载 作者:行者123 更新时间:2023-12-02 07:25:16 25 4
gpt4 key购买 nike

你好,我制作了一个可以在 webview(android) 中突出显示字符串的程序,我坚持用这段代码用彩色字符串替换字符串

        String[] arr = "LION SAVANA".split(" ");//i split textview string to have words (here we suppose that user entered : "lion savana"


String finalText = "the lion is a species of mamifer living into the savana"

for (String ss : arr) {
if (ss.length() > 2) {
ss = ss.replace("*","");
finalText = finalText.replaceAll("(?i)" + ss, "<b style = \"color:#2575ff\";>" + ss + "</b>");//finally here i replace all lion or savana occurrences by blue ones -> but i not keeps case :(
}
}

在这个循环之后,文本将是“LION is a species of mamifer living into the SAVANA”,颜色像预期的那样是蓝色的,但我不知道是大写的不期待

最佳答案

您在问题中提供的代码执行以下操作:它以不区分大小写的方式检查 "LION" 的输入字符串和 "SAVANA"并将每个替换为 "<b style=\"...\">LION</b>""<b style=\"...\">SAVANA</b>"分别。

如果你想得到原始单词,使用像here这样的反向引用.使用该反向引用,您的 replaceAll调用看起来像这样:

finalText = finalText.replaceAll("(?i)(" + ss + ")", "<b style = \"color:#2575ff\">$1</b>");

关于java String, replaceall() 但保留原始字符串中的大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33133965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com