2016-11-07 7 views
0

Wenn ich eine Zeichenfolge haben h ell##!omynam493eisj2ohn (I alle Leerzeichen, Ziffern entfernt haben, Zeichensetzung und etc ... mit regex) zu erhalten: hellomynameisjohnWie eine Zeichenfolge ohne Leerzeichen in Worte zu brechen

Nun, was ich will zu tun ist für jede n Zeichen - so sagen, die minimale Länge eines Wortes ist 4, so dass für jede 4 Zeichen möchte ich in einem Leerzeichen hinzufügen und zählen zählen. Das ist, was ich bis jetzt gemacht habe.

public static int countWords(String original, int minLength){ 

    original = original.replaceAll("[^A-Za-z]","").replaceAll("[0-9]", ""); 
    System.out.println(original); 

    System.out.println(original.length()); 

    int count = 0; 

    return count; 
} 

4 Zeichen = 1 Wort. Fügen Sie daher für jeweils 4 Zeichen ein Leerzeichen hinzu und erhöhen Sie die Anzahl um 1. Ich bin mir nicht sicher, wie ich diese Logik in Code umwandeln kann. Ich habe darüber nachgedacht, eine For-Schleife zu benutzen, aber das ist, wie weit ich gekommen bin.

for(int i = 0; i<original.length; i++){ 

    } 

Irgendwelche Vorschläge?

+1

einen String-Builder über die Schleife, und wenn 'I' ist durch 4 teilbar, ein Leerzeichen, sonst nur das Zeichen an Index hinzufügen' i + wordCount' – Carcigenicate

+0

oder Split nur alle 4, dann kommen Sie mit Räume. – Carcigenicate

+0

Verwenden Sie Teilzeichenfolge: https://www.tutorialspoint.com/java/java_string_substring.htm – clinical

Antwort

0

Ihre Methode möchte nur mit MinLength zählen, wie viele Wörter drin sind.

public static int countWords(String original, int minLength){ 

    original = original.replaceAll("[^A-Za-z]","").replaceAll("[0-9]", ""); 
    System.out.println(original); 

    System.out.println(original.length()); 

    int count = (original.length()+minLength-1)/minLength; 

    return count; 
} 
+0

Ja das ist richtig. Was ich implementiert habe, war – Construct0r

+0

int count = original.length()/minLength; so ist für immer n Charakter gleich einem Wort. Jetzt habe ich nur das Problem, wenn n eine negative Zahl ist. – Construct0r

Verwandte Themen