如何从Java中的字符串开头删除空格而不从末尾删除?
如果值为:
String temp = " hi "
那我怎么才能只删除前面的空白区域,所以它看起来像这样:
String temp = "hi "
我当前的实现是遍历,检查第一个字符并创建子字符串,直到达到第一个非空白值。
谢谢!
答案 0 :(得分:9)
您可以使用:
temp = temp.replaceFirst("^\\s*", "")
答案 1 :(得分:6)
答案 2 :(得分: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 "";
}
答案 3 :(得分:1)
自JDK11
起,您可以使用stripLeading:
String result = temp.stripLeading();
答案 4 :(得分:0)
明确地从java2s复制:
text = text.replaceAll("^\\s+", "");
...并使用@Reimus
的答案修改:
text = text.replaceFirst("^\\s+", "");
我不确定最有效的方法; fwiw,我选择@Reimus
的原件。