백엔드/Java

같은 단어 제거 정규식

david100gom 2024. 3. 20. 11:54
String regex = "(?i)\\b([a-z]+)\\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(m.group(0),m.group(1));
    }
             
    System.out.println(input);
 }
in.close();