2012-10-05 19 views
5

Come si rimuove lo spazio bianco dall'inizio di una stringa in Java senza rimuoverlo dalla fine?Come si rimuove lo spazio bianco dall'inizio di una stringa?

Se il valore è:

String temp = " hi " 

allora come posso eliminare solo il principale spazio bianco in modo che assomiglia a questo:

String temp = "hi " 

L'implementazione corrente che ho è un ciclo tra, controllando il primo carattere e creando una sottostringa fino al raggiungimento del primo valore non di spazi bianchi.

Grazie!

risposta

7

Si potrebbe utilizzare:

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

Questo non funzionerà con stringhe che non dispongono già di spazi vuoti. Dovrebbe essere 'temp.replaceFirst ("^\\ s * "," ");' in modo che '^' corrisponda all'inizio della stringa. – Brian

+0

L'OP dovrebbe anche assicurarsi che la stringa inizi con caratteri di spaziatura. –

+1

'' 'è necessario solo quando si utilizza' String.replaceAll'. Anche se funzionerà correttamente, non è necessario per 'String.replaceFirst' – Reimeus

5

Si potrebbe usare Commons-lang StringUtils metodo stripStart.

Se si passa a zero, verranno automaticamente ridotti gli spazi.

metodo
StringUtils.stripStart(temp, null); 
1

probabilmente vicino alla realizzazione delle proposte 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 ""; 
} 
0

Palesemente copiato da java2s:

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

... e modificata utilizzando Risposta @Reimus:

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

Non sono sicuro del metodo più efficiente; Per fortuna, sono andato con l'originale di @Reimus.

Problemi correlati