Как посчитать количество слов в строке?

Мне нужно посчитать количество слов, и я предполагаю, что правильный способ сделать это - вычислить, сколько раз предыдущий символ в строке не является буквой (т. Е. Другими символами), потому что это предполагает, что будет двоеточия, пробелы, табуляции и другие знаки в строке. Итак, сначала моя идея состояла в том, чтобы пройтись по каждому символу и посчитать, сколько раз вы не получите букву алфавита

    for(int i = 0; i < string.length(); i++) {
      for(int j = 0; i < alphabets.length(); j++) {
       if (string.charAt(i-1) == alphabets.charAt(j)) {
           counter++;
       }
     }
   }

Однако из-за этого я всегда получу массив вне границ. Поэтому мне нужна небольшая помощь или другой способ, который может быть более эффективным. Я думал об использовании Matches только для [a-zA-z], но я не уверен, как мне обработать символ, чтобы он был сопоставим со строкой при подсчете, сколько раз это происходит.

Спасибо

Ответы на вопрос(7)

Ваш ответ на вопрос