Маркер совпадения регулярного выражения для пробела: \s
. В вашем коде используется обратная косая черта (/
) вместо обратной косой черты (\
), которая не имеет особого значения, поэтому ваш код пытается сопоставить две прямые косые черты, за которыми следует одна или несколько s
s.
В Java регулярные выражения передаются через строки, поэтому обратная косая черта должна быть исключена второй обратной косой чертой (в отличие от прямой косой черты, которая не требует специальной обработки). Ваше регулярное выражение должно читать "\\s+"
, что будет соответствовать еще одному пробелу.
Ваш вызов split
должен затем возвращать массив с каждым словом в строке как отдельным элементом.
Если вы читаете свой файл построчно, вы можете получить доступ к каждому слову с кодом, например
BufferedReader reader = new BufferedReader(new FileReader("D:\\test.snol"));
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split("\\s+");
for (String word : words) {
System.out.println(word);
}
}