我正在尝试使用扫描仪类来解析文件中的所有单词。该文件包含常见文本,但我只想采用不包括所有标点符号的单词。到目前为止,我的解决方案还不完整,但已经给我带来了一些问题:
Scanner fileScan= new Scanner(file);
String word;
while(fileScan.hasNext("[^ ,!?.]+")){
word= fileScan.next();
this.addToIndex(word, filename);
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我在“嗨,我的名字是马里奥!”这样的句子上使用它。它只返回“hi”、“my”、“name”和“is”。它不匹配“马里奥!” (显然)但它与“马里奥”不匹配,就像我认为的那样。
你能解释一下为什么会这样,如果你有的话,可以帮助我找到更好的解决方案吗?谢谢