Курсы 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 Куратор тега 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 комментариев
Alina Shah @Shah_Alina Автор вопроса
Благодарю Вас! вот то, что нужно 🙂
Есть вопрос — почему у меня отображается результат не как у Вас?
Т.е. я написала в ячейку D1: =COUNTUNIQWORDS(A1:A)
а количество в цифрах как у Вас не выводит.
И куда мне нужно прописать тот длинный код?
Извиняюсь, может глупые вопросы задаю, но не доходит до меня)))
Alina Shah @Shah_Alina Автор вопроса
сделала проще — скопировала Вашу таблицу, вставила в колонку А свой текст, получила, что хотела.
Благодарю Вас от всего сердца!
Alina Shah @Shah_Alina Автор вопроса
Григорий Боев @ProgrammerForever Куратор тега Google Apps Script
Alina Shah, видел этот вопрос, но не понял о чём там. Дополните вопрос, приведите примеры того что должно быть на входе и на выходе.
Alina Shah @Shah_Alina Автор вопроса
Ответы на вопрос 1
Вечный студент
Можно через создание своей формулы например
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 >
Ответ написан более двух лет назад
Нравится 3 1 комментарий
Alina Shah @Shah_Alina Автор вопроса
Благодарю за отклик!
Честно сказать, так и не поняла, как на моем примере это действует.
Важно не заданное слово сколько раз встречается, а сколько раз встречается каждое слово из всей таблицы.
Например, в данной таблице 2710 слов (в ворде так показало).
И также, например, если я через поиск в таблице ввожу «алина», мне показывает, что встречается 38 раз.
Моя задача не находить определенные слова, а посчитать все слова и вывести каждое сколько раз встречается.
Т.е. некая статистика.
Извиняюсь, если не верно поставила изначально задачу.