Hacker-rank - Java Regex 2 - Duplicate Words Solutions
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class DuplicateWords { public static void main(String[] args) { String regex = "(\\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); // Check for subsequences of input that match the compiled pattern while (m.find()) { input = input.replaceAll(m.group(), m.group(1)); } // Prints the modified sentence. System.out.println(input); } in.close(); } }
Comments
Post a Comment