String 有没有一种方法可以在不直接使用Style类的情况下自动设置文本格式;

String 有没有一种方法可以在不直接使用Style类的情况下自动设置文本格式;,string,text,itext,itext7,String,Text,Itext,Itext7,像这样的:。。。 每当在itext 7文本或段落中使用该文本字符串时,它都会使“此”斜体或某些设置样式 使用itext7,几乎可以使用特殊字符使文本以某种样式出现: 我需要这样的东西,因为程序的用户会想把某些单词改成斜体 用户在TextArea中键入以定义字符串。 我保存了字符串,然后只需制作一个文本或段落来保存该字符串: String test = "Hello -this is a string of text"; 我曾考虑过使用TextFlow,但这不适用于itext7,因为它使用Jav

像这样的:。。。 每当在itext 7
文本
段落
中使用该文本字符串时,它都会使
“此”
斜体或某些设置
样式

使用itext7,几乎可以使用特殊字符使
文本
以某种
样式出现

我需要这样的东西,因为程序的用户会想把某些单词改成斜体

用户在
TextArea
中键入以定义
字符串
。 我保存了字符串,然后只需制作一个
文本
段落
来保存该字符串:

String test = "Hello -this is a string of text";

我曾考虑过使用
TextFlow
,但这不适用于itext7,因为它使用JavaFXCSS

我想出了这个,它很管用,但不是那么漂亮

            Cell location = new Cell()
                    .add(new Paragraph(test);

将字符串拆分为多个部分,为每个部分创建一个
Text
对象,对于要更改样式的部分,将相应的样式设置为相应的
Text
对象,然后将所有
Text
对象添加到段落中。
private Paragraph formatText(String string) {

    Paragraph paragraph = new Paragraph();

        Stream.of(string)
            .map(w -> w.split(" "))
            .flatMap(Arrays::stream)
            .forEach(w -> {
                Text word;

                if (w.startsWith("~")) {
                    String replace = w.replace("~", "");
                    word = new Text(replace);
                    word.setItalic();   

                } else if (w.startsWith("*")) {                 
                    String replace = w.replace("*", "");
                    word = new Text(replace);
                    word.setItalic();       

                } else {                    
                    word = new Text(w);
                }

                paragraph.add(word);                    
            });

    return paragraph;

}