DOBON.NETお気楽掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
検索
[ スレッド内全0レス(親記事-0 表示) ] <<
0
>>
■1606
/ 親記事)
.NET のワイルドカード仕様について
▼
■
□投稿者/ 海風の岬
-(2022/02/22(Tue) 23:21:36)
日曜プログラマーの素人親父です。ここのHPはいつも大変わかりやすくて勉強させていただいております。
プログラミング掲示板のほうがよいのかもしれませんが、雑談めいた話なのでこちらで。
ワイルドカードの「?」は通常、任意の一文字として扱われていますが、ファイル一覧を得るために DirectoryInfo.EnumerateFiles を調べていたところ、
『 ? (疑問符) その位置に0個または1個の文字。』とあり、.NET では必ずしも1文字ではないと知りました。
さらに「*」を拡張子3文字固定で使用すると別の動きがあることも書かれていて、驚きました。
(https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory.enumeratefiles?view=net-6.0 より)
試しに abc.txt / ac.txt などを作って DirectoryInfo.EnumerateFiles の引数をいろいろ変えて試してみましたが、「???.*」で abc.txt / ac.txtの両方とも検索されました。
ところが 「a??.txt」ではabc.txt / ac.txtの両方とも検索され、「??c.txt」では abc.txt しか検索されませんでした(同じ結果になると思っていました)。
このあたりの動きがどうもわかりづらく、わかりやすく説明しているHPなどがあれば是非おしえていただきたく。
まあ、プログラム上でDirectoryInfo.EnumerateFilesの引数には「"*"」のみを使用すればすむ話ではあるのですが、
ワイルドカードをユーザー(といっても自分ですが)にフォームで入力させようとしていたので想像と違う動作があるとは思ってもみなかったです。
結局正規表現でファイルの一覧から一部を抽出することにしましたが、
このあたりの処理って難しいものですね。
(雑談めいた話なので、返信はなくても問題ありません)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
管理人はこの掲示板をまともにチェックしていないかもしれませんし、返事も出さないかもしれません。
ちゃんとした(?)投稿はマナーを守って
別の掲示板
へ。
管理人の独断で不適切と判断した投稿は予告なく削除されます。
投稿は、明記のない限り、パブリックドメインになります。
本文と題名には必ずひらがなを入れてください。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
URLは自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
プレビュー/
クッキーに保存しない/
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
検索
-
Child Tree
-