2016-04-16 4 views
3

Wie können wir alle Leerzeichen des Strings mit Java nach vorne verschieben?Verschieben Sie die Leerzeichen an die Vorderseite der Zeichenfolge?

Input string = "move these spaces to beginning" 

Output string = " movethesespacestobeginning" 
+1

Was haben Sie versucht? Vorschlag: Sehen Sie sich die Operationen an, die von der Klasse "String" zur Verfügung gestellt werden, und sehen Sie, ob es irgendwelche gibt, die helfen würden. http://docs.oracle.com/javase/8/docs/api/java/lang/String.html – ajb

+1

Diese [IDEONE] (https://ideone.com/4MVNuQ) wird es tun. – Andreas

+0

Verwenden Sie die Funktion trim(), ltrim(), rtrim(), um das Leerzeichen von beiden Seiten, von der linken oder rechten Seite zu entfernen. –

Antwort

4

Versuchen Sie folgendes:

String input = "move these spaces to beginning"; 
int count = input.length() - input.replace(" ", "").length(); 
String output = input.replace(" ", ""); 
for (int i=0; i<count; i++) output = " " + output; 
System.out.print(output); 
0

Mit StringBuilder für Geschwindigkeit

public static String moveSpacesToFront(String input) { 
    StringBuilder sb = new StringBuilder(input.length()); 
    char[] chars = input.toCharArray(); 
    for (char ch : chars) 
     if (ch == ' ') 
      sb.append(ch); 
    for (char ch : chars) 
     if (ch != ' ') 
      sb.append(ch); 
    return sb.toString(); 
} 
Verwandte Themen