あいまい検索について

前述しました

の内容になります。

結果が必ず一つなら、folders.First で文字列として取得できます。
前者後者共通ですが、複数の場合はどれを使用するかの判断が必要です

結果というのは今回ですと「先頭2文字一致のみ」を指しているのでしょうか?

複数の場合というのは、「先頭2文字一致」または「文字列の中の2文字一致」または「後方2文字一致」を指しているのでしょうか?

こちらです

例えば検索文字列 aaBBに対して

フォルダが
aaCC
aaDD
とあった場合両者にマッチする可能性があります。
その可能性が無く、かならずマッチするものがあるなら firstメソッドで
最初の要素を取得すれば良いですが、そうでない場合は、何らかの処理が
必要になるということです。

folder.First=System.IO.Directory.GetDirectories(excel_folder_path, company.Substring(0,2)+“*”)

ですと、添付のエラーがでてしまいます。。

以下の様にします

folders = System.IO.Directory.GetDirectories("c:\temp",company.Substring(0,2)+"*")

strTarget = folders.First()

ご説明ありがとうございます。

ということであればリスト上先頭2文字が、他の会社と一致することはありません。

何度も恐れ入ります。
こちらの式でフォルダが探せないようです。

folders=System.IO.Directory.GetDirectories(excel_folder_path, company.Substring(0,2)+“*”)

エラー文言↓

代入: Could not find a part of the path 'C:\AA\BB\CC\DD\230125\AAaa

本来「AAaa」のところが「AA」で検索しなければいけないのですが「AAaa」で検索をかけて見つからないようです

入力フォルダーは

'C:\AA\BB\CC\DD\230125\

になります。
AAaaは検索する対象なので、通常あるいかどうかわからない部分なので、事前に指定する必要はありません。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.