Программа на Java для поиска повторяющихся слов в регулярном выражении
Опубликовано: 1 Декабря, 2021
Учитывая выражение, представленное String. Задача состоит в том, чтобы найти повторяющиеся элементы в регулярном выражении в Java. Используйте карты или структуры setdata для определения уникальности слов в предложении.
Примеры:
Ввод: str = "Привет, я Хритик и программист." Выход: Я Explanation: Мы печатаем повторяющиеся слова в данном выражении. Ввод: str = "Железный человек жив". Вывод: нет повторяющегося слова. Объяснение: В данном выражении нет повторяющихся слов.
Подход 1:
- Получите выражение.
- Храните все слова в массиве.
- Разделение слова с помощью регулярного выражения '\ W'. (использование регулярного выражения)
- Итерация в массиве и сохранение слов и всего количества вхождений в карту.
- Теперь, на карте, если количество вхождений больше 1, мы печатаем слово.
Ниже представлена реализация описанного выше подхода:
Ява
// Find Duplicate Words in a Regular Expression in Java import java.util.*; public class GFG { public static void main(String[] args) { // we have a expression String expression = "Hi, I am Hritik and I am a programmer" ; // splitting words using regex String[] words = expression.split( "\W" ); // we are creating a Map for storing // strings and it's occurrence" Map<String, Integer> word_map = new HashMap<>(); // Here we are iterating in words array and // increasing it's occurrence by 1. for (String word : words) { if (word_map.get(word) != null ) { word_map.put(word, word_map.get(word) + 1 ); } // if the word came once then occurrence is 1. else { word_map.put(word, 1 ); } } // creating a keyset of word_map Set<String> word_set = word_map.keySet(); // We are iterating in word set for (String word : word_set) { // if word matched then checking occurrence if (word_map.get(word) > 1 ) // here we are printing the duplicate words System.out.println(word); } } } |
Выход
я являюсь