2011-10-13 3 views
1

가능한 중복 :
How can I pad a String in Java?자바에서 문자열 내의 공백을 채우는 방법은 무엇입니까?

내가 내 방법 항목()가 다양한 크기의 문자열을 반환하는 stuation이 내가 수정 공간에 문자열을 표시 할 (길이라고 50 자) 길이가 50 자보다 크지 만 문자열 길이가 50 자 미만인 경우 어떻게해야할지 확실하지 않으면 String.substring()을 사용할 수 있습니다. 어떻게 구현할 수 있습니까?

for example my method1() return (in different call) : 
John 
Michael 
J 
Ab 

While method2() return : 
first 
Second 
Third 

와 나는 내가 공간 이외의 다른 문자를 사용하지 않으

John     First 
Michael    Second 
J     Third 
Ab     Forth 

같은 결과를 인쇄 할.

+0

String.format()을 시도했지만 도움이되지 않았습니다. – Mike

답변

1
public String toFixedLength(String str, int sz) {  
    String ret; 
    int len = str.length(); 

    if (len == sz) { 
    ret = str; 
    } else if (len > sz) { 
    ret = str.substring(0, sz); 
    } else { // len < sz 
    StringBuilder sb = new StringBuilder(str); 

    char[] ch = new char[sz - len]; 
    Arrays.fill(ch, ' '); 
    sb.append(ch); 
    ret = sb.toString(); 
    } 

    return ret; 
} 
+0

다음 시나리오에서 작동하지 않습니다. – Mike

0

그냥 확인 문자열의 length() 및 미만 오십 자 길이의 문자열을 가지고 당신이 밖으로 패드를 원하는 경우 (주기의 말) 공간의 필요한 수의

0

를 추가 , 당신이 단지 수 :

int temp = yourstring.length 

for(int i = 0; i < (50-temp); i++){ 
    yourstring = yourstring + " "; 
} 

나는 확신 그 일 것, yourstring 당신이 패드하려는 문자열과 코드에서 이전 정수로 내가 사용하지 않은 경우. 이렇게하면 공간 만 사용하면됩니다.

관련 문제