如何从字符串的开头删除空格?

如何从Java中的字符串开头删除空格而不从末尾删除?

如果值是:

String temp = " hi " 

那我怎么才能只删除前面的空白区域,所以它看起来像这样:

 String temp = "hi " 

我当前的实现是循环,检查第一个字符并创建一个子字符串,直到达到第一个非空白值。

谢谢!

你可以使用:

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

您可以使用Commons-lang StringUtils stripStart方法。

如果传递null,它将自动修剪空格。

 StringUtils.stripStart(temp, null); 

可能接近建议的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的原版。