私はまだかなり新しい(C#)コーディングであり、ユーザー基準(検索する文字列)に基づいてファイルリーダーを作成しています。私のプログラムは何ユーザー入力による動的IF関数の作成
:
ユーザーが刺さ/複数の文字列(とAND OR機能)を検索入力することができます プログラムは、ユーザの入力を解釈し、コードに文字列を再書き込みます。例えば
string fileLine = File.ReadAllText(line);
USER:
(hi AND no) OR yes
PROGRAM:私は何をしようとしている
if((fileLine.Contains(hi) && fileLine.Contains(no)) || fileLine.Contains(yes))
:
私はIF関数を使用してファイルの文字列に文字列と一致します:
if(fileLine.Contains(hi))
{
//do A LOT of stuff here.
}
私の最初のアイデアは、入力された文字列から文字列を作り、IF関数の "条件"を置き換えることでした。
私は間違ったやり方でこのことを行っていますか?これを達成する最良の方法は何でしょうか?
通常、私はそのようなものを設定したいときは、私自身の文法を発明するのではなく、正規表現を使用します。これで、ユーザーは '(はい)|(こんにちは*いいえ)|(いいえ* hi)'のようなことをすることができます。読みやすいとは言えませんが、実装がはるかに簡単です。 – juharr
あなたは[この質問]([https://stackoverflow.com/questions/1928881/parsing-a-custom-search-criteria-grammar-in-c-sharp])を投稿した人物に似た何かをしようとしているようです?rq = 1)。 – itsme86