java - экранирование текста в коде JavaFX - PullRequest
0 голосов
/ 28 июня 2011

Я делаю Java-программу, которая принимает текст в качестве ввода,
и должен создать эквивалентный JavaFX код (строковый литерал). Например:

Вводим следующий текст:

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 голосов
/ 03 августа 2011

Согласно спецификации JavaFX , единственные символы, которые вы должны экранировать обратной косой чертой при использовании двойных кавычек:

  • "
  • {
  • }
  • \

Вот метод 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...