Das habe ich leider total übersehen, habe es jetzt mit Regex gelöst: str.split("\\p{Punct}|\\p{Blank}");
Vielen Dank für die ausführliche Erklährung
package de.codegym.task.task19.task1907;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.text.ParseException;
/*
Wörter zählen
*/
public class Solution {
public static void main(String args[]) throws ParseException {
System.out.println();
// String strArray[] = new String[256];
String str = null;
int counter = 0;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileReader = new BufferedReader(new FileReader(reader.readLine()));) {
while ((str = fileReader.readLine()) != null) {
String strArray[] = str.split(" ");
for (String s : strArray) {
if (s.equals("world")) {
counter++;
}
}
}
// for (int i = 0; i < strArray.length; i++) {
// if (strArray[i].equals("world")) {
// counter++;
// }
// }
reader.close();
fileReader.close();
} catch (Exception e) {
System.out.println(e);
}
System.out.println(counter);
}
}