public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        FileReader r = new FileReader(reader.readLine());
        reader.close();
        StringBuilder builder = new StringBuilder("");
        while (r.ready()){
            builder.append((char)r.read());
        }
        r.close();
        String text = builder.toString().replaceAll("\\p{Punct}", " ");
        //Удаляем знаки пунктуации
        text = text.replaceAll("\\d", " ").replaceAll("[\\s]{2,}", " ").toLowerCase();
        //Удаляем цифры, лишние пробелы. Если подсчет без учета регистра то toLowerCase()
        String[] count = text.split(" ");
        int counter = 0;
        for (String s: count) {
            if (s.equals("world")) counter++;
        }
        System.out.println(counter);
    }
}
Проверял и с учетом регистра и без, с учетом цифр и без. Одинаково не принимается пункт 5. Программа должна выводить в консоль количество слов "world", которые встречаются в файле.