Wenn ich eine Zeichenfolge haben h ell##!omynam493eisj2ohn
(I alle Leerzeichen, Ziffern entfernt haben, Zeichensetzung und etc ... mit regex) zu erhalten: hellomynameisjohn
Wie 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?
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
oder Split nur alle 4, dann kommen Sie mit Räume. – Carcigenicate
Verwenden Sie Teilzeichenfolge: https://www.tutorialspoint.com/java/java_string_substring.htm – clinical