2012-10-05 2 views
5

끝에서 제거하지 않고 Java에서 문자열의 시작 부분에서 공백을 제거하려면 어떻게합니까?문자열 시작 부분에서 공백을 제거하려면 어떻게합니까?

이 값이 경우는 다음과 같습니다 있도록

String temp = " hi " 

은 그럼 어떻게 난 단지 선도 공백을 삭제할 수 있습니다

내가 가진 현재의 구현을 통해 루프입니다
String temp = "hi " 

, 첫 번째 문자를 검사하고 첫 번째 비 공백 값에 도달 할 때까지 부분 문자열을 작성합니다.

감사합니다.

답변

7

당신은 사용할 수 있습니다

temp = temp.replaceFirst("^\\s*", "") 
+1

이미 공백이없는 문자열에는 작동하지 않습니다. 그것은'temp.replaceFirst ("^ \\ s *", "");'이어야하고'^'는 문자열의 시작과 일치해야합니다. – Brian

+0

OP는 또한 문자열이 공백 문자로 시작하는지 확인해야합니다. –

+1

'^'는'String.replaceAll'을 사용할 때만 필요합니다. 여기서 제대로 작동하지만 'String.replaceFirst'에는 필요하지 않습니다. – Reimeus

5

을 당신은 커먼즈 - 랭 StringUtils에 stripStart 방법을 사용할 수 있습니다.

null을 전달하면 자동으로 공백을 잘라냅니다.

StringUtils.stripStart(temp, null); 
1

제안의 구현 아마 근접 몬즈 LANG StringUtils.stripStart() 메소드 노골적 java2s 복사

public static String trimFront(String input) { 
    if (input == null) return input; 
    for (int i = 0; i < input.length(); i++) { 
     if (!Character.isWhitespace(input.charAt(i))) 
      return input.substring(i); 
    } 
    return ""; 
} 
0

:

text = text.replaceAll("^\\s+", ""); 

...하여 수정 및 @Reimus 님의 답변 :

text = text.replaceFirst("^\\s+", ""); 

가장 효율적인 방법이 확실하지 않습니다. fwiw, 나는 @Reimus 님의 원본과 함께 갔다.

관련 문제