문자열에서 동일한 각 인수에 대한 변수를 지정해야 합니까?포맷?
String hello = "Hello";
String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);
hello hello hello hello hello hello
하십니까?hello
변수는 형식 메서드에 대한 호출에서 여러 번 반복되어야 하거나 모든 변수에 적용할 인수를 한 번 지정할 수 있는 간단한 버전이 있습니까?%s
토큰?
문서에서:
일반, 문자 및 숫자 형식의 형식 지정자 구문은 다음과 같습니다.
%[argument_index$][flags][width][.precision]conversion
옵션인 argument_index는 인수 목록에서 인수의 위치를 나타내는 10진수 정수입니다.첫 번째 인수는 다음에 의해 참조됩니다.
"1$"
두 번째로"2$"
,기타.
String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);
다른 옵션은 상대 인덱싱을 사용하는 것입니다.형식 지정자가 마지막 형식 지정자와 동일한 인수를 참조합니다.
예:
String.format("%s %<s %<s %<s", "hello")
의 결과.hello hello hello hello
.
인덱스 인수를 사용해야 합니다.%[argument_index$]
다음과 같이 표시됩니다.
String hello = "Hello";
String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);
결과:Hello Hello Hello Hello Hello Hello
에서 인수를 재사용할 수 있는 일반적인 한 가지 사례String.format
는 구분 기호(예:";"
CSV의 경우 또는 콘솔의 경우 탭).
System.out.println(String.format("%s %2$s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; ; ; b"
이것은 원하는 출력이 아닙니다."c"
어디에도 나타나지 않습니다.
먼저 구분 기호를 사용해야 합니다(사용).%s
) 및 인수 인덱스만 사용합니다(%2$s
) 다음과 같은 경우:
System.out.println(String.format("%s %s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; b ; c"
가독성 및 디버깅을 위해 공간이 추가됩니다.형식이 올바르면 텍스트 편집기에서 공백을 제거할 수 있습니다.
System.out.println(String.format("%s%s%s%2$s%s%n", "a", ";", "b", "c"));
// "a;b;c"
언급URL : https://stackoverflow.com/questions/6891175/do-i-have-to-specify-a-variable-for-each-identical-argument-in-string-format
'prosource' 카테고리의 다른 글
CakePHP - 마지막 쿼리 실행 가져오기 (0) | 2023.08.06 |
---|---|
텍스트 파일의 내용을 자바스크립트 변수로 로드하려면 어떻게 해야 합니까? (0) | 2023.08.06 |
jQuery를 사용하여 입력을 읽기 전용으로 만들려면 어떻게 해야 합니까? (0) | 2023.08.06 |
mysql에서 UPDATE를 수행하는 동안 여러 행에서 고유한 값을 설정하는 방법 (0) | 2023.08.06 |
Uncaught TypeError: 정의되지 않은 'top' 속성을 읽을 수 없습니다. (0) | 2023.08.06 |