2012-10-05 28 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()メソッドの実装におそらく近い
StringUtils.stripStart(temp, null); 
1

:露骨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さんのオリジナルと一緒に行きました。

関連する問題