小编use*_*265的帖子

java中的正则表达式,用于查找重复的连续单词

我把它看作是在字符串中找到重复单词的答案.但是当我使用它时,它会思考This并且is是相同的并删除它is.

正则表达式

"\\b(\\w+)\\b\\s+\\1"
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

这是我用于重复删除的代码

public static String RemoveDuplicateWords(String input)
{
    String originalText = input;
    String output = "";
    Pattern p = Pattern.compile("\b(\w+)\b\s+\b\1\b", Pattern.MULTILINE+Pattern.CASE_INSENSITIVE); 
    //Pattern p = Pattern.compile("\\b(\\w+)\\b\\s+\\1", Pattern.MULTILINE+Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher(input);
    if (!m.find())
        output = "No duplicates found, no changes made to data";
    else
    {
        while (m.find())
        {
            if (output == "")
                output = input.replaceFirst(m.group(), m.group(1));
            else
                output = output.replaceAll(m.group(), m.group(1));
        }
        input = output;
        m = p.matcher(input);
        while (m.find())
        {
            output …
Run Code Online (Sandbox Code Playgroud)

java regex

12
推荐指数
4
解决办法
2万
查看次数

标签 统计

java ×1

regex ×1