2012-10-05 82 views
5

如何從Java中的字符串開頭刪除空格而不從結尾刪除?如何從字符串的開頭刪除空格?

如果值是:

String temp = " hi " 

那我怎麼才能只刪除了領先的空白,所以它看起來是這樣的:

String temp = "hi " 

當前實現我是遍歷,檢查第一個字符並創建一個子字符串,直到達到第一個非空白值。

謝謝!

回答

7

你可以使用:

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

這不適用於已經沒有空格的字符串。它應該是'temp.replaceFirst(「^ \\ s *」,「」);'以便'^'匹配字符串的開頭。 – Brian

+0

OP還需要確保字符串以空白字符開始。 –

+1

只有在使用'String.replaceAll'時才需要'^'。雖然它在這裏可以正常工作,但它不需要'String.replaceFirst' – Reimeus

5

你可以使用共享朗StringUtils的stripStart方法。

如果您通過null,它會自動修剪空格。

StringUtils.stripStart(temp, null); 
1

大概接近所建議的執行共享琅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 ""; 
} 
0

java2s公然複製:

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

...和使用改性@Reimus的回答:

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

我不確定最有效的方法; fwiw,我去了@Reimus的原創。