「赤か緑、青の車、赤と青」という語句の例をテキストファイルから検索し、語句の完全一致でなくても一致を返す Java プログラムを実装したい。半一致でも、プログラムは no match を返す必要があります。
「赤い車」を検索していて、テキスト ファイルの文字列行に「赤と青」が含まれている場合、プログラムは、検索していたものと半分一致する赤を返します。
どんな助けでも大歓迎です
これは私がこれまで行ってきたことです。これが行うことは、正確な単語を見つけることだけです
public class StringSearch
{
public static void main(String[] args)
{
String key = "red yellow";
String strLine;
try
{
FileInputStream fstream = new FileInputStream("C:\\textfile.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while ((strLine = br.readLine()) != null) {
if(key.equals(strLine))
{
System.out.println(" Match For " + strLine );
}
else
{
System.out.println( "No Match For " + key);
}
// Print the content on the console
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
しかし、検索したいのは、「赤」を検索していて、検索しているテキスト ファイルの文字列の最初の行に「赤い車が盗まれました」が含まれ、2 行目には「赤」だけが含まれている場合です。最初の一致は 100% 一致、2 番目は 50% 一致の 2 つの一致を返します。