#java #syntax
#java #синтаксис
Вопрос:
Когда я пытаюсь System.out.println("\\");
, он печатает две обратные косые черты, я хочу напечатать только одну.
Комментарии:
1. Похоже, есть довольно очевидный кандидат, которого вы не пробовали.
Ответ №1:
System.out.println("\");
. Обратная косая черта — это символ escape: вы пишете одну обратную косую черту, а затем еще один символ, который вместе представляет один символ (длина строки будет равна 1); символ, который трудно записать обычным способом.
"n"
имеет длину 1 и является символом новой строки.
"\"
имеет длину 1 и является одной обратной косой чертой.
Ответ №2:
Просто для полноты картины. Вы используете "\\"
, когда хотите сопоставить буквальную обратную косую черту в регулярном выражении Java / Pattern
. Вам нужно выполнить экранирование один раз для регулярного выражения, а затем обе обратные косые черты должны быть экранированы снова… потому что это строковый литерал.
Короче говоря:
"\"
для буквальной обратной косой черты в строковом литерале"\\"
чтобы сопоставить буквенную обратную косую черту в регулярном выражении, выраженном в виде строкового литерала
(Все это имеет смысл, если вы хорошенько подумаете об этом.)
Ответ №3:
Просто сделайте:
\
Пример можно увидеть здесь:
System.out.println("\");
Который производит: