Java Regex 2 - Duplicate Words

  • + 0 comments

    public class DuplicateWords {

    public static void main(String[] args) {
    
        String regex = "(?i)\\b(\\w+)\\b(\\s+\\1\\b)+";
        Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    
        Scanner in = new Scanner(System.in);
        int numSentences = Integer.parseInt(in.nextLine());
    
        while (numSentences-- > 0) {
            String input = in.nextLine();            
            Matcher m = p.matcher(input);
            while (m.find()) {
                input = input.replaceAll(regex, "$1");
            }
            System.out.println(input);
        }
        in.close();
    }
    

    }