Java如何在正则表达式中匹配重复单词?
Posted borter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java如何在正则表达式中匹配重复单词?相关的知识,希望对你有一定的参考价值。
在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:
");
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:
");
for (String s : noRepeat) {
System.out.println(s);
}
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
上述代码示例将产生以下结果 -
Original text is:
Hello hello Hello there there past pastures
After Remove duplicates:
Hello there past pastures
以上是关于Java如何在正则表达式中匹配重复单词?的主要内容,如果未能解决你的问题,请参考以下文章