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:\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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM