如何在Java中打印文本文件中的特定单词

时间:2017-07-31 10:40:48

标签: java arrays string if-statement

所以你可以看到我有一个像这样的文本文件:

难以置信,不相信,相信,能干 虐待,误会,对待, 可理解,理解,能干

我需要获得语素或每个单词,例如,如果我输入单词MISTREATMENT,输出将是MIS,TREAT,MENT,根词是TREAT。

到目前为止,这是我的代码:

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class morph {

    public static void main(String[] args) throws IOException {

         System.out.println("Enter a word: ");
         Scanner sc = new Scanner (System.in);
         sc.nextLine();

         BufferedReader br = new BufferedReader(new FileReader("C:/Users/xxxx/Desktop/morphemes.txt"));
         String line = null;
         while ((line = br.readLine()) != null) {

             //i'm stuck

             System.out.println("The morpheme words are: "); // EG: mis , treat, ment
             System.out.println("The Root word is: "); // EG: treat
         }
    }
}

输出应为:

输入一个词:虐待 语素词:mis,treat,ment 根词是:处理

问题是我如何在文本文件中打印特定数据。我不知道我会使用if else语句或字典。如果您要告诉我它应该是字典,请帮帮我。这是一个NLP主题btw

1 个答案:

答案 0 :(得分:-1)

我猜String.split()方法可以帮助你。

public String[] words = line.split(String ",");

// Check if first word in the line equals to the input
if (words != null && !words.isEmpty() && words[0].equals(sc.toString()))
{ 
  System.out.println("The morpheme words are: "+words[1]+words[2]);
  System.out.println("The Root word is: "+words[2]);
}