8

Javaで文字列の最後から削除せずに、文字列の最初から空白を削除するにはどうすればよいですか?

値が次の場合:

String temp = "    hi    "

次に、先頭の空白のみを削除して、次のようにするにはどうすればよいですか。

String temp = "hi    "

私が持っている現在の実装は、ループスルーし、最初の文字をチェックし、最初の非空白値に達するまでサブストリングを作成することです。

ありがとう!

4

5 に答える 5

11

あなたが使用することができます:

temp = temp.replaceFirst("^\\s*", "")
于 2012-10-05T21:59:20.857 に答える
8

Commons- langStringUtilsstripStartメソッドを使用できます。

nullを渡すと、スペースが自動的にトリミングされます。

StringUtils.stripStart(temp, null);
于 2012-10-05T21:59:50.373 に答える
3

現在、stripLeadingJDK11を使用できます:

String result = temp.stripLeading();
于 2018-11-30T23:55:39.343 に答える
1

おそらく、提案されたCommons-lang StringUtils.stripStart()メソッドの実装に近いでしょう。

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 "";
}
于 2012-10-05T22:06:06.283 に答える
0

java2sから露骨にコピー

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

...そして@Reimusの答えを使用して変更:

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

最も効率的な方法がわかりません。fwiw、私は@Reimusのオリジナルで行きました。

于 2017-08-30T18:08:31.570 に答える