码迷,mamicode.com
首页 > 编程语言 > 详细

Java如何在正则表达式中匹配重复单词?

时间:2018-09-10 11:00:02      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:stat   duplicate   产生   pac   string   code   代码   token   public   

在Java编程中,如何在正则表达式中匹配重复单词?

以下示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词。

package com.yiibai;

import java.util.Scanner;
import java.io.*;
import java.util.regex.*;
import java.util.ArrayList;

public class SearchingDuplicateWords {
    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);
        }
    }
}
Java

上述代码示例将产生以下结果 -

Original text is:
Hello hello Hello there there past pastures 
After Remove duplicates:
Hello there past pastures

Java如何在正则表达式中匹配重复单词?

标签:stat   duplicate   产生   pac   string   code   代码   token   public   

原文地址:https://www.cnblogs.com/borter/p/9617144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!