Начиная с Вас использующий стандартный HTML необходимо будет определить отдельный класс для, и руководство установило строки на классы.
string.split.size
Отредактировано, чтобы предотвратить приливную волну глупости в отношении нескольких пробелов
Из страницы документации Ruby String
split (pattern = $ ;, [limit]) → anArray
Делит строку на подстроки на основе разделителя, возвращая массив этих подстрок.
Если шаблон является строкой, то ее содержимое используется в качестве разделителя при разделении ул. Если шаблон представляет собой один пробел, строка разделяется на пробелы, с ведущими пробелами и непрерывными пробелами символы игнорируются.
Если шаблон является Regexp, str делится там, где совпадает шаблон. Каждый раз, когда шаблон соответствует строке нулевой длины, str разделяется на отдельные персонажи. Если шаблон содержит группы, соответствующий совпадения также будут возвращены в массиве.
Если шаблон не указан, значение $; используется. Если $; равно нулю (что есть значение по умолчанию), строка разделяется на пробелы, как если бы был указан "".
Если параметр limit опущен, завершающие пустые поля будут подавлен. Если предел - положительное число, не более того числа будут возвращены поля (если ограничение равно 1, возвращается вся строка как единственная запись в массиве). Если отрицательный, нет предела количество возвращаемых полей, а конечные нулевые поля не подавлено.
" now's the time".split #=> ["now's", "the", "time"]
Хотя это текущая версия ruby на момент редактирования, я узнал о версии 1.7 (IIRC), где это тоже работало. Я только что тестировал на 1.8.3.
Если «слово» в этом случае можно описать как буквенно-цифровую последовательность, которая может включать в себя «-», то следующее решение может быть подходящим (при условии, что все, что не соответствует слову 'шаблон является разделителем):
>> 'one-way street'.split(/[^-a-zA-Z]/).size
=> 2
>> 'one-way street'.split(/[^-a-zA-Z]/).each { |m| puts m }
one-way
street
=> ["one-way", "street"]
Однако есть некоторые другие символы, которые могут быть включены в регулярное выражение - например,' для поддержки таких слов, как «это».