Hy Anzeigeaufeinander folgende Duplikate Worte Entfernen von Text aus Regex verwenden und den neuen Text
Ich habe den folgenden Code:
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.*;
/
public class RegexSimple4
{
public static void main(String[] args) {
try
{
Scanner myfis = new Scanner(new File("D:\\myfis32.txt"));
ArrayList <String> foundaz = new ArrayList<String>();
ArrayList <String> noduplicates = new ArrayList<String>();
while(myfis.hasNext())
{
String line = myfis.nextLine();
String delim = " ";
String [] words = line.split(delim);
for (String s : words) {
if (!s.isEmpty() && s != null)
{
Pattern pi = Pattern.compile("[aA-zZ]*");
Matcher ma = pi.matcher(s);
if (ma.find()) {
foundaz.add(s);
}
}
}
}
if(foundaz.isEmpty())
{
System.out.println("No words have been found");
}
if(!foundaz.isEmpty())
{
int n = foundaz.size();
String plus = foundaz.get(0);
noduplicates.add(plus);
for(int i=1; i<n; i++)
{
if(!noduplicates.get(i-1).equalsIgnoreCase(foundaz.get(i)))
{
noduplicates.add(foundaz.get(i));
}
}
//System.out.print("Cuvantul/cuvintele \n"+i);
}
if(!foundaz.isEmpty())
{ System.out.print("Original text \n");
for(String s: foundaz)
{
System.out.println(s);
}
}
if(!noduplicates.isEmpty())
{ System.out.print("Remove duplicates\n");
for(String s: noduplicates)
{
System.out.println(s);
}
}
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}
Mit dem Ziel der aufeinander folgende Duplikate von Phrasen zu entfernen. Der Code funktioniert nur für eine Spalte mit Strings, die nicht für Phrasen in voller Länge gedacht sind.
Zum Beispiel sollte mein eingegeben werden:
Blah blah Hund, Katze, Maus. Katze Mäuse Hund Hund.
und die Ausgabe
Blah Hund, Katze, Maus. Katze-Mäuse-Hund.
Sincerly,
Aber wie ich Ihre regex in meinem Programm verwenden. Ich habe eine Datei als Eingabe und möchte den Inhalt ohne Redundanz mit System.out.print anzeigen lassen. Danke dir :-) – SocketM
Vielen Dank, aber was $ 1 bedeutet :-)? – SocketM
@SocketM: Das ist eine spezielle Variable, die auf den Inhalt der ersten [einfangenden Gruppe] verweist (http://www.regular-expressions.info/brackets.html), in diesem Fall das erste Wort (das wir behalten wollen) . –