元のテキストを取得して削除し、強調する領域を特定し、元の文字列をこの領域に分割し、接頭辞を追加し、Elemenを作成して追加し(「強い」)そのテキストをリージョンに追加し、接尾辞があればそれを追加します。
public static void main(String[] args) throws Exception {
Element p = new Element("p");
p.setText("Some bold text");
print(p);
List<Content> parts = split(p.getText());
p.removeContent();
p.addContent(parts);
print(p);
}
static List<Content> split(String s) {
List<Content> result = new LinkedList<Content>();
String bold = "bold";
int i = s.indexOf(bold);
if (i != -1) {
result.add(new Text(s.substring(0, i)));
result.add(new Element("strong").setText(bold));
result.add(new Text(s.substring(i+bold.length())));
} else {
result.add(new Text(s));
}
return result;
}
static void print(Element e) throws IOException {
new XMLOutputter().output(e, System.out);
System.out.println();
}