Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Найти и напечатать спецсимволы


Автор: x8m6 7.10.2011, 23:52
Как вывести непечатаемые символы?
Код

String s = "some string \r \n \s"

Нужно чтобы на экране вывелись ровно такая же строка?

Также если в строке есть символы, записанные в 8-ричной системе счисления, как их найти?

Автор: Kaimi 8.10.2011, 00:04
Цитата

Нужно чтобы на экране вывелись ровно такая же строка?

Наверное стоит добавить обратный слеш перед каждым "непечатаемым символом"

Автор: x8m6 8.10.2011, 11:34
Строка доступна только в рантайме. Пробовал так:
Код

"some \r \r \t \n string".replaceAll("\\s", "\\\\?");

Но что вставлять вместо "?"

Автор: dorogoyIV 8.10.2011, 14:49
мой компилятор не принимает...
что бы напечатать "\n" надо писать так: System.out.println("\\" + "n");

Автор: x8m6 8.10.2011, 15:42
Вы не понимаете, в коде я саму строку менять не могу. Мне ее нужно обработать в рантайме. Преобразовать все спецсимволы так чтобы они печатались. 

Автор: dorogoyIV 8.10.2011, 15:50
ну так парси строку, разбивай на буквы...

Автор: math64 8.10.2011, 17:22
Код

String s = "some \r \r \t \n string";
s = s.replaceAll("\r", "\\r");
s = s.replaceAll("\t", "\\t");
s = s.replaceAll("\n", "\\n");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)