Hỷ,Loại bỏ từ bản sao liên tiếp ra khỏi văn bản sử dụng Regex và hiển thị các văn bản mới
Tôi có đoạn mã sau:
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);
}
}
}
Với mục đích loại bỏ các bản sao liên tiếp từ cụm từ. Mã chỉ hoạt động cho một cột các chuỗi không cho các cụm từ có độ dài đầy đủ.
Ví dụ đầu vào của tôi nên là:
Blah blah chuột chó mèo. Chó mèo chó chó.
Và đầu ra
chuột Blah chó mèo. Chó con chó mèo.
Sincerly,
Nhưng làm thế nào tôi sử dụng regex của bạn trong chương trình của tôi. Tôi có một tập tin như là một đầu vào và tôi muốn hiển thị nội dung của nó mà không cần dự phòng bằng cách sử dụng System.out.print. Cảm ơn u :-) – SocketM
Cảm ơn bạn rất nhiều, nhưng những gì $ 1 có nghĩa là :-)? – SocketM
@SocketM: Đó là một biến đặc biệt tham chiếu đến nội dung của [nhóm bắt giữ] đầu tiên (http://www.regular-expressions.info/brackets.html), trong trường hợp này là từ đầu tiên (chúng tôi muốn giữ) . –