Removing consecutive duplicates words out of text using Regex and displaying the new text

后端 未结 3 1164
生来不讨喜
生来不讨喜 2021-01-03 03:33

Hy,

I have the following code:

import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.*;

/
public  class Reg         


        
3条回答
  •  北荒
    北荒 (楼主)
    2021-01-03 04:12

    Bellow code work fine

    import java.util.Scanner;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    public class DuplicateRemoveEx {

    public static void main(String[] args){
    
        String regex="(?i)\\b(\\w+)(\\b\\W+\\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();
    }
    

    }

提交回复
热议问题