2012-10-05 38 views
5

Java'da bir dizenin başından sonuna kadar boşluk kalmadan beyaz boşluğu nasıl kaldırırım?Beyaz boşluk bir dizenin başlangıcından nasıl kaldırılır?

değeri ise: böyle görünecek şekilde

String temp = " hi " 

O zaman nasıl sadece lider beyaz boşluk silebilirsiniz:

Ben şu anki uygulama döngü olduğunu
String temp = "hi " 

, İlk karakteri kontrol edip, boşluk olmayan ilk değere ulaşana kadar bir alt dizin oluşturmayı.

Teşekkürler!

cevap

7

Sen kullanabilirsiniz:

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

Bu, zaten boşlukları olmayan dizelerle çalışmayacaktır. Temp.replaceFirst ("^ \\ s *", ""); '' '' d 'dizenin başlangıcıyla eşleşmelidir. – Brian

+0

OP'nin ayrıca, String'in boşluk karakterleriyle başladığından emin olması gerekir. –

+1

'^' sadece 'String.replaceAll' kullanılırken gereklidir. Burada iyi çalışacak olsa da, String.replaceFirst' için gerekli değildir. – Reimeus

5

Sen Commons-lang StringUtils stripStart yöntemi kullanabilirsiniz.

Boş değerlerden birini geçerseniz, boşlukları otomatik olarak kırpır.

StringUtils.stripStart(temp, null); 
1

önerilen uygulanmasına Muhtemelen yakın Commons-lang StringUtils.stripStart() yöntemi: Açıkça java2s kopyalanan

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

:

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

... ve kullanılarak değiştirilmiştir @Reimus 'nun yanıtı:

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

En etkili yöntemden emin değilim; fwiw, ben @Reimus 'in orijinaliyle gittim.

İlgili konular