04 08 2023
在Java中对一个纯文本进行多个关键字标红可以通过以下步骤完成: 1. 首先,将待标红的关键字和原始文本分别保存在字符串数组中。假设待标红的关键字保存在名为"keywords"的字符串数组中,原始文本保存在名为"text"的字符串中。 2. 创建一个StringBuilder对象,用于存储标红后的文本。 3. 使用循环遍历关键字数组,在每次迭代中执行以下操作: - 利用String类的`indexOf()`方法找到关键字在原始文本中的位置。 - 如果找到了关键字,则将关键字前面部分的文本添加到StringBuilder对象中,并用特定的标记(如"关键字")替换关键字。 - 如果没有找到关键字,则将剩余的文本全部添加到StringBuilder对象中。 4. 最后,将StringBuilder对象中的文本转换成字符串,并进行输出或进一步处理。 下面是一个示例代码: ```java public class HighlightKeywords { public static void main(String[] args) { String[] keywords = { "关键字1", "关键字2", "关键字3" }; String text = "这是一段包含多个关键字的纯文本,关键字1、关键字2和关键字3需要标红。"; StringBuilder highlightedText = new StringBuilder(); int startIndex = 0; int endIndex; for (String keyword : keywords) { while ((endIndex = text.indexOf(keyword, startIndex)) >= 0) { highlightedText.append(text.substring(startIndex, endIndex)); highlightedText.append("").append(keyword).append(""); startIndex = endIndex + keyword.length(); } } if (startIndex < text.length()) { highlightedText.append(text.substring(startIndex)); } String finalText = highlightedText.toString(); System.out.println(finalText); } } ``` 在上述示例中,我们通过遍历关键字数组,使用`indexOf()`方法找到关键字在原始文本中的位置,并将标红后的文本存储在StringBuilder对象中。最后,将StringBuilder对象中的文本转换成字符串并输出。需要注意的是,这里使用的是简单的HTML标记来实现标红效果,可以根据需要进行更改。
延伸阅读
    躁人晋、郑之间有躁人焉,射不中则碎其鹄,奕不胜则啮其子。
    快速排解压力的10种方法,提升幸福感
    如何防止铜电解工艺刷槽子时电解液从刷槽液管喷溅
    在Go中如何实现UDP网络编程?
    如何在工作中提高效率?