所以你可以看到我有一个像这样的文本文件:
难以置信,不相信,相信,能干 虐待,误会,对待, 可理解,理解,能干我需要获得语素或每个单词,例如,如果我输入单词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
答案 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]);
}