所以我正在做这个过去的样本期末考试,其中问题要求从文件读取输入,然后将它们处理成文字。 句子的结尾用任何以三个字符之一结尾的单词来标记。 ? !Java处理来自文件的输入
我能够为此写一个代码,但我只能用将它们拆分成句子使用扫描仪类并使用use.Delimiter。我想将它们处理成单词,看看在上面的句子分隔符中是否有单词结束,然后我将停止在句子类中添加单词。 任何帮助将不胜感激,因为我正在自己学习这一点,这就是我想出的。我的代码在这里。
File file = new File("finalq4.txt");
Scanner scanner = new Scanner(file);
scanner.useDelimiter("[.?!]");
while(scanner.hasNext()){
sentCount++;
line = scanner.next();
line = line.replaceAll("\\r?\\n", " ");
line = line.trim();
StringTokenizer tokenizer = new StringTokenizer(line, " ");
wordsCount += tokenizer.countTokens();
sentences.add(new Sentence(line,wordsCount));
for(int i = 0; i < line.replaceAll(",|\\s+|'|-","").length(); i++){
currentChar = line.charAt(i);
if (Character.isDigit(currentChar)) {
}else{
lettersCount++;
}
}
}
我在此代码正在做的是,我分裂投入使用分隔符方法的句子,然后计算的话,整个文件的信件,并存储在一个句子类的句子。
如果我想分解成单词,我怎么能做到这一点,而不使用扫描仪类。
从一些,我要处理的文件输入的是在这里:
文字下面是基于密码的维基百科页面上!
密码学是隐藏信息的实践和研究。在现代,密码学被认为是数学和计算机科学的分支,并且与信息论,计算机安全和工程学紧密相关。加密技术用于技术领域的应用领域:先进的社会;例子包括ATM卡,计算机 密码和电子商务安全性,这都依赖于密码.....
我能在这个问题上进一步阐述,如果它需要解释。
我希望能够做的是不断向单词类添加单词,并在单词在上面的句子分隔符之一结束时停止。然后读另一个词,并继续添加这些词,直到我击中另一个分隔符。
扫描仪很不错。 。你也可以按行读取文件行 –
使用'String.split'怎么样? –
是的扫描仪是好的,它也很容易,而不是很多的编码。 @ΦXocę웃Пepeúpaツ – Saad