Не проходит по последнему пункту, ищет больше слов, чем положено. Подскажите, пожалуйста, какие варианты я не учел?
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String one = reader.readLine();
reader.close();
FileReader reader1 = new FileReader(one);
String str = "";
char [] a = new char[1000];
while (reader1.ready()){
reader1.read(a);
for (char put: a
) {
str = str + put;
}
}
reader1.close();
int sum = 0;
for (String x : str.split("[^a-zA-Z0-9]") // пробовал \\W, тот же результат
) {
if (x.equals("world")){
sum++;
}
}
System.out.println(sum);
}
}