2016-04-04 111 views
0

我有一个程序创建一个.txt文件,具体取决于用户所在的按钮。如果您点击Button A,它将创建一个名称为.txt的文件:BA_12345678912345678。 Instade,如果你点击Button B它会创建一个.txt文件具有此名称:BB_48654321546875684如何只读取一段文本文件名?并将其与文本框中的字符串进行比较?

(数量将点击之间发生变化,取决于时间和其他人的事情和数字量始终将17)

这个文件将在一个路径中创建(对于这种情况将是:C:\Users\Desktop\Folder1),并且只能在此Folder1中的5个文件中创建。

在同一个程序中,我有一个textBox,我在其上写入了我想要打开的文件的编号。

如何只读取.txt文件的编号并与textBox上的字符串进行比较?

+0

你有没有考虑过使用Regex.Match? https://msdn.microsoft.com/en-us/library/twcw2f1c(v=vs.110).aspx – Zze

+0

@Zze我会尝试...谢谢你回答我。 –

回答

0

如果它总是17位,你可以简单地使用substring获得字符串的数字部分:

var numbers = textFileName.Substring(textFileName.Length - 17); 

,如果你知道第一部分是总是3个字元长的,你可以这样做:

var numbers = textFileName.Substring(3); 

,如果你知道,总有由数字folowed一个下划线字符,你可以这样做:

var numbers = textFileName.Substring(textFileName.IndexOf("_") + 1); 

更新

要获得一个目录,你可以使用System.IO.DirectoryGetFiles方法的文件列表:

var filesList = Directory.GetFiles(@"C:\Users\Desktop\Folder1"); 
// filesList now is an array of strings containing all the file names (including path) in the C:\Users\Desktop\Folder1 directory. 
+0

感谢您回答我,但是如何与文件夹中文件的名称进行比较?我不需要一个目录?...我是这种编程的新手... –

+0

使用['Directory.GetFiles'](https://msdn.microsoft.com/en-us/library/system .io.directory.getfiles(v = vs.110).aspx)方法来获取目录中的文件列表。 –

+0

你能更具体些吗?因为我一直试着这个,不工作... –

相关问题