0

我正在做我的任务,即从字典列表和段落中读入并计算某些单词在段落中出现的次数,同时使用 LinkedLists 和 BST。我们已经获得了 regex 命令来拆分paragraph.txt 文件,该命令"[\\s|\\pPunct]+"对我不起作用,所以我正在使用[\\s, ?!]+但是这并没有做我想要的一切,因为 regex 命令在外面这门课程的摘要我对它们了解不多。

我正在寻找一个删除所有句点、逗号和空格的命令。[\\s, ?!]+前两个,但是如果我有这条线,例如;

..some line here

more text here...

该返回行没有被删除,当我将每个单词添加到我的 LinkedList 中时,我尝试将其删除;

    public static void insertParagraph(String[] strings) {
    for(int i = 0; i < strings.length; i++) {
        if(strings[i] != "" || strings[i] != " " || strings[i] != null)
            paragraph.insertFirst(strings[i].replaceAll("[^a-zA-Z'\\s]","").toLowerCase());
    }
}

但是,如果语句也不起作用,有人有什么建议吗?

4

1 回答 1

4

方括号表示字符类,圆括号表示捕获组。

查看Pattern类以查看预定义的字符类。

"[\\s|\\pPunct]+" // wrong
"(\\s|\\p{Punct})+" // correct
于 2013-06-28T16:48:32.360 回答