タスク: ファイルを自分の ftp にアップロードしたいのですが、そのファイルには拡張子も triID も何もありません。ファイル名は abcd で、その後にランダムな 19 桁が続きます。
例:
abcd9876543211234567892
abcd6662325999292112450
等々。
だから私がやりたかったのは、正規表現を追加してabcdで始まる一致するファイル名を見つけ、このアップロードの最後に一致するすべてのファイルを見つけることでした。
ここからあなたのリンクにアクセスできません。
ただし、これは静的メソッドへの単純な呼び出しである必要がありますRegEx.IsMatch
。
(「abcd」で始まり、その後にちょうど19桁のファイルを一致させたいと想定しています)。
// First get the list of filenames. I am using a string array for simplicity to denote input data.
// I believe you are getting a collection from Directory.GetFiles
string[] fileNames = { "abcd9876543211234567892", "abcd6662325999292112450"};
string pattern = @"^abcd\d{19}$";
foreach (string fileName in fileNames)
{
if (System.Text.RegularExpressions.Regex.IsMatch(fileName, pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
//Do your upload
}
else
{
//Ignore or Record that this file is not eligible for upload or whatever...
}
}
"abcd" で始まり、その後に数字のみが続くか何もないファイル名に一致させる必要がある場合は、パターンを次のように変更します。^abcd\d*$
$abcd\d+
画像を探したいディレクトリで Directory.GetFiles によって返されたすべての文字列に対して、この式を使用して正規表現エンジンを実行し、このパターンに一致するものをアップロードします。
コードは投稿しませんが、実装すると実用的なソリューションが得られるはずです。