[java] 자바 문자열 줄 바꿈

나는 같은 문자열을 가지고있다.

"I am a boy".

이런 식으로 인쇄하고 싶습니다

"I 
am 
a
boy".

아무도 나를 도울 수 있습니까?



답변

System.out.println("I\nam\na\nboy");

System.out.println("I am a boy".replaceAll("\\s+","\n"));

System.out.println("I am a boy".replaceAll("\\s+",System.getProperty("line.separator"))); // portable way


답변

당신은 또한 사용할 수 있습니다 System.lineSeparator():

String x = "Hello," + System.lineSeparator() + "there";


답변

System.out.printf("I %n am %n a %n boy");

산출

I 
 am 
 a 
 boy

설명

그것은 사용하는 것이 좋습니다 %n운영체제 독립적 인 개행 문자 대신으로\n 것보다 쉽습니다.System.lineSeparator()

사용하는 %n이유는 각 OS에서 새 줄이 다른 문자 집합을 나타 내기 때문입니다.

Unix and modern Mac's   :   LF     (\n)
Windows                 :   CR LF  (\r\n)
Older Macintosh Systems :   CR     (\r)

LF줄 바꿈 의 약어 이고 CR캐리지 리턴 의 약어입니다 . 이스케이프 문자는 괄호 안에 표시됩니다. 따라서 각 OS에서 새 줄은 시스템에 특정한 것을 나타냅니다. %nOS에 구애받지 않고 이식 가능합니다. 그것은 의미 \n유닉스 시스템 또는 \r\nWindows 시스템과에 이렇게. 따라서 사용하지 말고 \n대신 사용하십시오 %n.


답변

여러 가지 방법으로 수행 할 수 있습니다. 나는 두 가지 간단한 방법을 언급하고 있습니다.

  1. 아래와 같이 매우 간단한 방법 :

    System.out.println("I\nam\na\nboy");
  2. 다음과 같이 연결하여 수행 할 수도 있습니다.

    System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");

답변

시험:

System.out.println("I\nam\na\nboy");


답변

코드를 모든 시스템에서 이식 가능하게 만들려면 다음을 사용하십시오.

public static String newline = System.getProperty("line.separator");

Windows마다 “\ r \ n”을 사용하고 Classic Mac은 “\ r”을 사용하고 Mac과 Linux는 모두 “\ n”을 사용하므로 OS마다 다른 줄 바꿈 표기법이 사용되므로 중요합니다.

해설자-내가 틀렸다면 정정 해주세요.


답변

\n 별도의 라인을 만드는 데 사용됩니다.

예:

System.out.print("I" +'\n'+ "am" +'\n'+ "boy"); 

결과:

I
am
boy