('\ t'、'\ r'、'\n'などのすべての可能な空白コマンドのスイッチを記述せずに'\''n'のようなcharシーケンスを'\n'に変換するソリューションを探しています。)
それを行うための何かが組み込まれている、または巧妙なトリックはありますか?
('\ t'、'\ r'、'\n'などのすべての可能な空白コマンドのスイッチを記述せずに'\''n'のようなcharシーケンスを'\n'に変換するソリューションを探しています。)
それを行うための何かが組み込まれている、または巧妙なトリックはありますか?
いいえ、一度コンパイルすると、 afaik"\\n"
とは何の関係もありません。"\n"
私は次のように何かをすることをお勧めします:
純粋なJava:
String input = "\\n hello \\t world \\r";
String from = "ntrf";
String to = "\n\t\r\f";
Matcher m = Pattern.compile("\\\\(["+from+"])").matcher(input);
StringBuffer sb = new StringBuffer();
while (m.find())
m.appendReplacement(sb, "" + to.charAt(from.indexOf(m.group(1))));
m.appendTail(sb);
System.out.println(sb.toString());
Apache Commons StringEscapeUtilsの使用:
import org.apache.commons.lang3.StringEscapeUtils;
...
System.out.println(StringEscapeUtils.unescapeJava(input));