【发布时间】:2016-12-22 11:57:28
【问题描述】:
我目前正在尝试编写一个简单的工具来轮询一些在指定时间到达服务器的文件,以确认它们已经到达并记录任何丢失的文件。他们将在此文件夹中放置大约。 40分钟,然后通过脚本自动移出(我无法控制)。
我的问题是:
如何将部分匹配的文件名与表格进行比较(我想将文件名中的唯一标识符(下面的NUMBER 和NUMBER2)与用户可以通过 Windows 表单更新的预定义表格上的标识符进行匹配) .大概我想拆分字符串,所以我拆分了NUMBER 和NUMBER2,所以我可以比较它们,看看它们是否包含在文件名中(两个数字必须包含在文件名中它是匹配的,并且顺序很重要)。
文件名格式:
NCR_XR_D_NUMBER_NUMBER2
由于顺序很重要,NCR_XR_D_8003_9611 不等于 NCR_XR_D_9611_8003。
这就是我现在拥有的:
public static void CheckIfFilesExist()
{
// Put all file names in XR File directory into array.
string[] array1 = Directory.GetFiles(@Properties.Settings.Default.XRFolderSavedLocation);
//this location is stored as a app setting, type: string, scope: User. This is tested working OK.
// Print filenames into Console. (making sure the array is populating).
Console.WriteLine("--- Files:---");
foreach(string name in array1)
{
Console.WriteLine(name);
}
}
【问题讨论】:
-
我看不到这里的问题。只需循环
array1中的所有文件,由_拆分并获取第 3 个和第 4 个数组元素以获取两个数字... -
string[] fileNameItems = name.Split('_');然后您可以使用fileNameItems[fileNameItems.Length -1] 获取最后两项,即数字并查找它们
标签: c# .net compare string-comparison