如何在Java中从字符串开头删除空格而不从结尾删除?
如果值是:
String temp = " hi "
那么我如何仅删除前导空格,使其看起来像这样:
String temp = "hi "
我目前的实现方式是循环遍历,检查第一个字符并创建子字符串,直到达到第一个非空格值。
谢谢!
如何在Java中从字符串开头删除空格而不从结尾删除?
如果值是:
String temp = " hi "
String temp = "hi "
我目前的实现方式是循环遍历,检查第一个字符并创建子字符串,直到达到第一个非空格值。
谢谢!
你可以使用:
temp = temp.replaceFirst("^\\s*", "")
可能接近于建议的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 "";
}
text = text.replaceAll("^\\s+", "");
...并使用@Reimus
的答案进行了修改:
text = text.replaceFirst("^\\s+", "");
我不确定最有效的方法; 顺便说一下,我选择了@Reimus
的原始方法。
temp.replaceFirst("^\\s*", "");
这样^
就匹配字符串的开头。 - Brian