如何从 java 中的给定关键字列表中查找字符串中的单词

How to find words in a string from given list of keywords in java

假设我有一个这样的字符串。

String s = "I have this simple string java, I want to find keywords in this string";

与此同时,我有一个这样的关键字列表。

ArrayList<String> keywords = new ArrayList<>( Arrays.asList("string", "keywords"));

我想实现的是从关键字中找出s中的单词并生成一个高亮显示的新字符串keywords.like

String sNew = "我有这个简单的string java,我想找到关键字 在这个 string";

这个高亮部分是在生成pdf的时候通过iText完成的。​​

谢谢。

基于 ,使用自定义字体添加 Chunk

public static final Font BLACK_NORMAL = new Font(FontFamily.HELVETICA, 12, Font.NORMAL);
public static final Font BLACK_BOLD = new Font(FontFamily.HELVETICA, 12, Font.BOLD);

String s = "I have this simple string java, I want to find keywords in this string";
List<String> keywords = Arrays.asList("string", "keywords");

Paragraph p = new Paragraph();
for (String word : s.split("\s+")) {
    if (keywords.contains(word))
        p.add(new Chunk(word, BLACK_BOLD));
    else
        p.add(new Chunk(word, BLACK_NORMAL));
    
    p.add(new Chunk(" ", BLACK_NORMAL));
}