Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在计算文本文件中的句子时遇到问题-Java_Java - Fatal编程技术网

在计算文本文件中的句子时遇到问题-Java

在计算文本文件中的句子时遇到问题-Java,java,Java,我的程序计算单词和句子,我知道如何很容易地计算单词,但是我在计算句子时遇到了一个问题 这是我的密码: Scanner in = new Scanner(file); in.useDelimiter(""); while (in.hasNext()) { String word = in.next(); char ch = word.charAt(0); String temp = readWord.replaceAll("...", " ").replaceAll("--"

我的程序计算单词和句子,我知道如何很容易地计算单词,但是我在计算句子时遇到了一个问题

这是我的密码:

Scanner in = new Scanner(file);
in.useDelimiter(""); 
while (in.hasNext()) { 
String word = in.next(); 
char ch = word.charAt(0);        
String temp = readWord.replaceAll("...", " ").replaceAll("--", " ");         
     if(temp.contains(".") || (temp.contains("!") || temp.contains("?!"))) {
         if(ch == '.') 
             sentences++;
            }
        }
它适用于以下句子:

“嗨,我叫布拉。”

但这一次没有:

“我不知道……也许他不喜欢。”

单词计数器工作,但句子计数器不工作。它也计算省略号,即使我告诉它用一个空的空格替换它


有人知道我做错了什么吗?

replaceAll返回一个新字符串,结果不会更改原始字符串。(字符串是不可变的,即不能更改)

方法的第一个参数是正则表达式(regex),而不是要匹配的文本字符串。在正则表达式中,点表示“任何字符”。如果确实要匹配点字符,则必须在点之前使用反斜杠(如果要在字符串文字中输入反斜杠,则需要在反斜杠之前再输入一个反斜杠)


另一件事是
replaceAll()
不会更改字符串本身,而是返回一个包含替换内容的新字符串。

是的,我根据驱逐者的建议将其分配给另一个字符串。是的,我根据驱逐者的建议将返回的字符串分配给另一个字符串。