How to match duplicate words in a regular expression?
SolutionFollowing example shows how to search duplicate words in a regular expression by using p.matcher() method and m.group() method of regex.Matcher class.
import java.util.Scanner; import java.io.*; import java.util.regex.*; import java.util.ArrayList; public class dupl { public static void main(String[] args) { ArrayList <String> manyLines = new ArrayList<String>(); ArrayList <String> noRepeat = new ArrayList<String>(); try { String s1 = "Hello hello Hello there there past pastures "; Scanner myfis = new Scanner(s1); while(myfis.hasNext()) { String line = myfis.nextLine(); String delim = System.getProperty("line.separator"); String [] lines = line.split(delim); for(String s: lines) { if(!s.isEmpty() && s != null) { manyLines.add(s); } } } if(!manyLines.isEmpty()) { System.out.print("Original text is:\n"); for(String s: manyLines) { System.out.println(s); } } if(!manyLines.isEmpty()) { for(String s: manyLines) { String result = s.replaceAll("(?i)\\b([a-z]+)\\b(?:\\s+\\1\\b)+", "$1"); noRepeat.add(result); } } if(!noRepeat.isEmpty()) { System.out.print("After Remove duplicates:\n"); for(String s: noRepeat) { System.out.println(s); } } } catch(Exception ex) { System.out.println(ex); } } }Result
The above code sample will produce the following result.
Original text is: Hello hello Hello there there past pastures After Remove duplicates: Hello there past pastures
java_regular_exp.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4