- Example - Home
- Example - Environment
- Example - Strings
- Example - Arrays
- Example - Date & Time
- Example - Methods
- Example - Files
- Example - Directories
- Example - Exceptions
- Example - Data Structure
- Example - Collections
- Example - Networking
- Example - Threading
- Example - Applets
- Example - Simple GUI
- Example - JDBC
- Example - Regular Exp
- Example - Apache PDF Box
- Example - Apache POI PPT
- Example - Apache POI Excel
- Example - Apache POI Word
- Example - OpenCV
- Example - Apache Tika
- Example - iText
- Java Useful Resources
- Java - Quick Guide
- Java - Useful Resources
How to match duplicate words in a regular expression using Java
Problem Description
How to match duplicate words in a regular expression?
Solution
Following 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
Advertisements