2012-11-06 2 views
2

UI에 공백이있는 문자열을 표시해야하는 경우가 있습니다. 이는 가독성을 높이기위한 것입니다.여기서 Java String 형식을 사용할 수 있습니까

예를 들어 데이터가 "1234567890"인 경우 "123 456 7890"으로 표시하고 싶습니다. Java의 String 형식 메서드를 사용하여이 작업을 수행 할 수 있는지 궁금합니다.

+0

당신은 사용하여 작업을 수행 할 수 있습니다 모두 StringBuilder - http://stackoverflow.com/questions/4469984/how-to-insert-space-after-every-character-of-an-existing-string-in-java – Zzz

답변

1

아니요, 자신 만의 코드를 구현해야합니다. String API는 here을 참조하십시오.

+0

"plainString.substring (0, 3) +" "+ + plainString.substring (3,6) +"plainString.substring (6,10)을 반환하는 유틸리티 메소드를 작성했습니다. " 그게 꽤 아니지만, 내가 추측하는 일을한다. – midhunhk

+0

잘 작동한다면 그것은 작동한다 :) 행복한 코딩 녀석 –

0

전화 번호 형식을 지정하려는 것 같습니다. DecimalFormat을 사용하고 메시지 형식을 정의하고 String[]을 원래 문자열의 하위 문자열로 만들 수 있습니다.

1

replaceAll을 사용하면됩니다.

String test = "1112223333"; 
System.out.println(test.replaceAll("(.{3})(.{3})(.{4})", "$1 $2 $3")); 

이것은 .{x} 아무것도 일치하는 정규 표현식 (.{3})(.{3})(.{4})를 사용합니다. {x}은 횟수입니다. (.{3}) 괄호 안에 $ 1, $ 2, $ 3과 일치하는 문자열을 포착합니다.

그래서 $ 1 = "111"$ 2 = "222"와 $ 3 = "3333"

+0

여기 $ 1, $ 2 등은 무엇인가? – midhunhk

+0

업데이트했습니다. 정규 표현식에서 괄호를 사용하면 $ 1, $ 2, $ 3 ...에있는 일치하는 문자열을 캡처하여 정규 표현식에있는'()'와 같은 식으로 저장합니다. 전체 문자열도 $ 0에 저장됩니다. – Nate

0

예는 인 String.format() 먼저 그것을

을 가지고 당신이 배열의 문자열을 분할 할 수 있습니다 할 수있는

는 [0] = "123"

A [1] = "456"

는 [2] = "7890"

는 다음

,617를 사용
String.format("%1$3s %2$3s %3$3s",a); 
관련 문제