テキスト ファイルに次のものが含まれているとします。
彼は男の子です 。
彼女は病気だ 。
アリが遊んでいます。
私たちは食べています。
犬が吠えています。
彼と彼の兄弟は走っています。
彼は遊んでいる 。
そして、文字列を以下に分けて比較したい:
彼は
男の子
です
。
彼女は
病気
です。
等々。
上記のすべての単語をベクトルに入れました。入力した文字列とどのように比較できますか?
方法が次のようであると仮定します: 入力文字列:He is a boy .
He is
入力文字列から、ベクトル内で何回出現するかを調べてベクトルと比較したい。
これは私が試したことです:
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("textfile.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
int lineNum = 0;
Vector text= new Vector();
Enumeration vtext = text.elements();
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
//System.out.println (strLine);
lineNum++;
String[] words = strLine.split("\\s+");
//System.out.println(words[0]);
for (int i = 0, l = words.length; i + 1 < l; i++){
text.addElement(words[i] + " " + words[i + 1]);
}
}
String str23 = "She is";
while(vtext.hasMoreElements()){
String yy = "He is";
if(text.contains(yy)){
System.out.println("Vector contains 3.");
}
System.out.print(vtext.nextElement() + " ");
System.out.println();
}
System.out.println(text);
System.out.println(lineNum);
//Close the input stream
in.close();
}catch (Exception e){ //Catch exception if any
System.err.println("Error: " + e.getMessage());
}