java - 将文本转义为JavaFX代码

时间:2011-06-28 15:50:27

标签: java escaping code-generation javafx

我正在制作一个Java程序,它将一些文本作为输入,
并且必须生成等效的 JavaFX 代码(String文字)。例如:

  

输入内容如下:

     

Hello World! This: \ is a backslash.
And this: {} are brackets.

     

生成的JavaFX代码是:

"Hello World! This: \\ is a backslash.\nAnd this: \{\} are brackets."

是否有原生方式(例如,使用JavaFX SDK)来实现此目的?
如果没有,有人可以在JavaFX中给我完整的转义序列列表吗?

1 个答案:

答案 0 :(得分:0)

根据JavaFX specification,使用双引号时必须使用反斜杠转义的唯一字符是:

  • "
  • {
  • }
  • \

这是一个Java方法,应该做你想要的:

public String escapeInput(String[] input) {
    String[] characters = {"\"", "\\", "{", "}"};
    StringBuilder sb = new StringBuilder();
    sb.append("\"");
    for (String line : input) {
        for (String test : characters) {
            line = line.replace(test, "\\" + test);
        }
        sb.append(line);
        sb.append("\n");
    }
    sb.append("\"");
    return sb.toString();
}