Javaで文字列の最後から削除せずに、文字列の最初から空白を削除するにはどうすればよいですか?
値が次の場合:
String temp = " hi "
次に、先頭の空白のみを削除して、次のようにするにはどうすればよいですか。
String temp = "hi "
私が持っている現在の実装は、ループスルーし、最初の文字をチェックし、最初の非空白値に達するまでサブストリングを作成することです。
ありがとう!
Javaで文字列の最後から削除せずに、文字列の最初から空白を削除するにはどうすればよいですか?
値が次の場合:
String temp = " hi "
次に、先頭の空白のみを削除して、次のようにするにはどうすればよいですか。
String temp = "hi "
私が持っている現在の実装は、ループスルーし、最初の文字をチェックし、最初の非空白値に達するまでサブストリングを作成することです。
ありがとう!
あなたが使用することができます:
temp = temp.replaceFirst("^\\s*", "")
Commons- langStringUtilsstripStartメソッドを使用できます。
nullを渡すと、スペースが自動的にトリミングされます。
StringUtils.stripStart(temp, null);
現在、stripLeadingJDK11
を使用できます:
String result = temp.stripLeading();
おそらく、提案された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 "";
}
java2sから露骨にコピー:
text = text.replaceAll("^\\s+", "");
...そして@Reimus
の答えを使用して変更:
text = text.replaceFirst("^\\s+", "");
最も効率的な方法がわかりません。fwiw、私は@Reimus
のオリジナルで行きました。