Сколько раз слово встречается в тексте
Перейти к содержимому

Сколько раз слово встречается в тексте

  • автор:

Курсы javascript

Необходимо определить, сколько раз слово встречается в тексте? и как это сделать?

Последний раз редактировалось Rphoenix, 13.11.2017 в 19:14 .

13.11.2017, 18:58

Регистрация: 27.11.2015

Сообщений: 2,899

Rphoenix,

Для начала почитать учебники
поиск всех вхождений

13.11.2017, 19:14

Новичок на форуме

Регистрация: 14.11.2015

Сообщений: 7

Большое спасибо, все получилось.

13.11.2017, 21:22

Интересующийся

Регистрация: 14.07.2017

Сообщений: 21

Зачастую со строками удобнее через regex работать. Не нужно писать кучу сомнительных циклов.

'foo bar foo'.match(/foo/g).length

14.11.2017, 08:21

Регистрация: 30.04.2012

Сообщений: 3,018

'foo bar foo'.split('foo').length - 1

« Проверка всех возможных вариантов | Смена картинки по цвету »

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В каком направлении и сколько раз был прокручен скролл webrepa Events/DOM/Window 19 12.02.2016 14:45
Если в таблице встречается определенное слово, то выделить его. Webtest Элементы интерфейса 0 14.09.2014 16:58
Определить сколько раз страница прокручена до конца. dolte Events/DOM/Window 1 19.09.2013 22:21
Вырезать слово в тексте и вывести его kilogram Серверные языки и технологии 4 29.03.2012 01:41
Поиск в тексте javascript jQuery 3 31.05.2011 11:40

© Илья Кантор, 2007-2021 О проекте — Обратная связь — Архив форума — Вверх

Как легко посчитать сколько раз в тексте встречается одна конкретная буква?

Как быстро посчитать, например, сколько раз буква «А» встречается в этом тексте?

ЗАКЛЮЧИТЕЛЬНЫЕ ТОМА, ПОХОЖЕ, ЯВЛЯЮТСЯ РЕЗУЛЬТАТОМ МНОГОЛЕТНЕГО СОЗНАТЕЛЬНОГО ИЗУЧЕНИЯ ТЕКСТОВ НАРЯДУ С ГОДАМИ НАУЧНОГО ОПЫТА.

Кстати, — это тест. Вы можете при ПЕРВОМ чтении с обычной скоростью, по ходу чтения посчитать, сколько раз в этой фразе встречается буква «а»? Можете в ответе написать результат.

Как это посчитать при помощи сочетания клавиш?

бонус за лучший ответ (выдан): 5 кредитов
комментировать
в избранное
Влади­ мир Apche­ l [251K]
8 лет назад

Ответ Ланочки самый простой и понятный — выделить текст — нажать сочетание клавиш Ctrl+F — в появившемся окне ввести нужную букву, которая и будет подсвечиваться в выделенном тексте.

Есть более долгие способы установить количество нужной буквы — в редакторе Word, по коду HTML документа, на некоторых форумах даже встречал обсуждения написания программ для этого 🙂

В выделенном мною тексте 36 букв «А»

автор вопроса выбрал этот ответ лучшим
комментировать
в избранное ссылка отблагодарить
sveta-leto [105K]
3 года назад

Вы просили прочитать выделенную фразу, при прочтении посчитать и потом написать в ответе сколько там букв «А». Я прочитав насчитала восемь «А». Интересно, что это за тест?

Самый быстрый для меня способ с помощью компьютера посчитать конкретную букву в тексте, или предлог, или даже слово — это зажать две клавиши: Ctrl + F (по-русски сочетанием клавиш «Контрал»-«А»).

Это действительно хорошая возможность, иногда полезно проверить свой текст на частоту употребления какого-либо предлога или слова.

Напечатали текст в виндовском блокноте, зажимаете Ctrl + F и всплывает окошко в которое вписали букву или слово. Потом нажмете на кнопку «найти». Ну и по ходу текста считаете. Там еще есть функции — разберетесь, что вам конкретно надо, это не сложно.

Сколько раз встречается слово в тексте

Юзер вводит большой текст. Требуется создать частотный словарь. это словарь в котором ключ уникальное слово из текста, а значение числовое. Сколько раз в тексте встречается данное слово?

Машина машина собака машина собака свинья Машина 3 собака 2 свинья 1 

Что я пробовал: Я инициализировал словарь, и разделил введенный юзером текст с помощью Split. Затем, я проверяю с помощью счетчика, одинакового ли нынешнее слово со следующим. Если одинаково, добавляю в копилку. Ошибка: Индекс вне границ

var Dictionary = new Dictionary(); Console.WriteLine("Вводи большой текст"); string text = Console.ReadLine(); string[] newText = text.Split(' '); int counterRepeat = 0; for (int i = 0; i < newText.Length; i++) < if (newText[i] == newText[i + 1]) < counterRepeat++; >> 

Отслеживать

2,127 1 1 золотой знак 9 9 серебряных знаков 14 14 бронзовых знаков

Как посчитать сколько встречается каждое слово в таблице (или ячейке)?

https://docs.google.com/spreadsheets/d/1RrMOuBr-Eq.
Есть набор отзывов, хочу определить сколько каких слов встречается.
Т.е. не определенных слов, а все слова посчитать — сколько каждое из них встречается.
Есть такая универсальная формула?

  • Вопрос задан более двух лет назад
  • 343 просмотра

Комментировать
Решения вопроса 1

ProgrammerForever

Григорий Боев @ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант

Виктор Л всё правильно подсказал.
Если немного изменить его код, можно получить не по одной ячейке, а по диапазону.

function COUNTUNIQWORDS(range) < let wordsCount = <>; range.forEach(row=>< row.forEach(cell=>< let text = String(cell) .toLowerCase() .replace(/[^а-яА-ЯёЁa-zA-Z ]+/gi, ' ') .replace(/\s+/gi, ' '); let words = text .split(' ') .filter(word=>word!==''); words.forEach(word=>< if (wordsCount[word])< wordsCount[word]+=1; >else< wordsCount[word]=1; >; >); >); >); let result = Object.keys(wordsCount) .sort() .map(word=>[word, wordsCount[word]]); return result; >;

Ответ написан более двух лет назад
Нравится 2 5 комментариев

Shah_Alina

Alina Shah @Shah_Alina Автор вопроса

Благодарю Вас! вот то, что нужно 🙂
Есть вопрос — почему у меня отображается результат не как у Вас?
Т.е. я написала в ячейку D1: =COUNTUNIQWORDS(A1:A)
а количество в цифрах как у Вас не выводит.
И куда мне нужно прописать тот длинный код?
Извиняюсь, может глупые вопросы задаю, но не доходит до меня)))

Shah_Alina

Alina Shah @Shah_Alina Автор вопроса

сделала проще — скопировала Вашу таблицу, вставила в колонку А свой текст, получила, что хотела.
Благодарю Вас от всего сердца!

Shah_Alina

Alina Shah @Shah_Alina Автор вопроса

ProgrammerForever

Григорий Боев @ProgrammerForever Куратор тега Google Apps Script

Alina Shah, видел этот вопрос, но не понял о чём там. Дополните вопрос, приведите примеры того что должно быть на входе и на выходе.

Shah_Alina

Alina Shah @Shah_Alina Автор вопроса
Ответы на вопрос 1

Fzero0

Вечный студент
Можно через создание своей формулы например

function COUNTUNIQWORDS(cell) < var result = [] var words = String(cell).split(" "); var wordsCount = words.reduce(function (acc, w) < if(acc[w]) < acc[w] += 1 >else < acc[w] = 1; >return acc; >, <>); for (var w in wordsCount) result.push('Cлово "'+ w +'" встречается '+ wordsCount[w] + ' раз'); return result >

6108ef31e255c656419246.png

Ответ написан более двух лет назад
Нравится 3 1 комментарий

Shah_Alina

Alina Shah @Shah_Alina Автор вопроса

Благодарю за отклик!
Честно сказать, так и не поняла, как на моем примере это действует.
Важно не заданное слово сколько раз встречается, а сколько раз встречается каждое слово из всей таблицы.
Например, в данной таблице 2710 слов (в ворде так показало).
И также, например, если я через поиск в таблице ввожу «алина», мне показывает, что встречается 38 раз.
Моя задача не находить определенные слова, а посчитать все слова и вывести каждое сколько раз встречается.
Т.е. некая статистика.
Извиняюсь, если не верно поставила изначально задачу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *