Считаем слово

  • 20
  • Недоступна
Считать с консоли имя файла. Файл содержит слова, разделенные знаками препинания. Вывести в консоль количество слов "world", которые встречаются в файле. Закрыть потоки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (770)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sleepy9
Уровень 20
25 мая, 19:30
Прошлая задача - 6 попыток, эту решил с одной (даже удивительно) Если что, правильное решение излишне сложное, вполне можно решить через чтение по символу и составлению слова в StringBuilder, проверка на букву - метод Character.isLetter(char ch) По длине кода +- одно и то же, скорее всего, через регулярные выражения можно ещё больше сократить, но я пока не особо умею :)
Anonymous #3137196
Уровень 25
18 мая, 17:31
String[] strings1 = s.split("\\W");
Иван
Уровень 28
18 мая, 12:47
String replacedString = text.toString().replaceAll("\\p{P}", " ").replaceAll("\\s", " ");
Не понял зачем тут второй .replaceAll("\\s", " ");
ssssssergeenkov
Уровень 30
14 мая, 12:42
для тех кто не понял 30 строку тыц буквально первый пример объясняет её
Basilius
Уровень 28
5 мая, 11:37
Pattern pattern = Pattern.compile("\\bworld(?![a-z]|[A-Z]|\\'){5}");
как-то так п.с. это выражение он принял, но может у кого-то будут еще варианты
Taurnil
Уровень 38
4 мая, 18:02
Народ, здесь требуется найти слово, а не совпадение символов. Будьте внимательны при выборе решения: ваш код НЕ должен найти это:
world`s
worldwideweb
worlderer
worldering
...//
21 мая, 19:50
Очень помогло, но хотел бы уточнить, что варианта "world`s" там скорее всего нет. По крайней мере я решал через String.split("[^\\p{L}]") и решение прошло.
Murat
Уровень 30
3 мая, 18:19
Подскажите пожалуйста, была ли уже у нас тема регулярных выражений для задач такого уровня? Спрашиваю не для того чтобы сказать "ЭЭ МЫ ЖЕ ЭТА НИПРАХАДИЛЕА!!!" ) просто помню что что-то было, но найти не смог
Basilius
Уровень 28
5 мая, 11:10
https://javarush.com/quests/lectures/questcore.level05.lecture12 там в одной задаче использовалось, но про регулярки ничего не писалось
Сергей
Уровень 28
25 апреля, 16:28
Решил со второго раза.Отличная задача. Побольше бы таких. Заставляет поломать голову. Сделал при помощи StringTokenizer(s, " .,{}:;"); Этих разделителей хватило. Тестировал на файле с кодом. Валидатор тоже пропустил.
Taurnil
Уровень 38
4 мая, 18:03
Ты натолкнул меня на мысль - ищем-то СЛОВО, а не ВХОЖДЕНИЕ СТРОКИ. Спасибо!
alexyng7
Уровень 22
6 апреля, 08:30
Решил облегчить себе задачу и считывал из файла через BufferedReader. Валик не принимал решение, хотя оно было идентичным предлагаемому. Десять попыток потребовалось, что бы я понял, что из-за BufferedReader считанные строки "слипаются". Добавил пробел в конец считанной строки и все заработало.
Gans Electro
Уровень 36
3 апреля, 14:50
Попросил GPT придумать что то сложнее чем "\\W", он выдал "[^\\p{L}\\p{Digit}]+". Оба регулярных выражения будут находить все не-буквенные и не-цифровые символы.
Gans Electro
Уровень 36
3 апреля, 15:02
Hello world, it's a beautiful day! How are you doing in the world? Don't you love this world.world,world!world@worldd? I'm so glad to be in this world!
7 words world GPT (Он реально тупит): К сожалению, я не могу правильно определить количество слов "world" в этом тексте без выполнения кода на соответствующем языке программирования. Я могу только предоставить алгоритм и подсказки, как это сделать. Пожалуйста, уточните, какую именно помощь вы ожидаете от меня.