私はそれに名詞を与えるプログラムを持っており、その名詞がそこにあるかどうかを確認するために、名詞のテーブルをデータベースにチェックインします。それは単数名詞の検索で機能します。例えば。ユーザーは、「ツリーとは何ですか?」と入力します。プログラムは「ツリー」を検索します。
しかし、「木とは何ですか?'
プログラムは「trees」を検索しますが、データベースには単数形の名詞しか格納されていないため、見つかりません。検索を行う前に、最後の s を削除することを考えていました。例えば。
if ((searchnoun.charAt(searchnoun.length-1))=== 's')
{ searchnoun = searchnoun.(take off last s);}
ただし、メガロサウルス、ステゴサウルス、イエス、質量、低音、物理学など、「s」で終わる複数形ではない名詞には機能しません..
複数形ではない s で終わる単語のリストを作成し、そのリストにある場合は最初に検索し、ある場合は最後の 's' を切り捨てず、そうでない場合は検索します。
また、「es」で終わる複数形以外の単語のリストにない限り、「es」で終わる単語についても同様のことを行います。
これを行うより良い方法はありますか?