2016-04-04 6 views
0

Ich habe ein Programm, das eine .txt Datei erstellt, je nachdem, welche Schaltfläche der Benutzer klickt. Wenn Sie auf Button A klicken, wird eine .txt Datei mit diesem Namen erstellt: BA_12345678912345678. Instade, wenn Sie die Button B klicken, wird es eine .txt Datei mit diesem Namen erstellen: BB_48654321546875684Wie liest man nur einen Teil eines Textdateinamens? Und vergleichen Sie es mit einer Zeichenfolge in einer TextBox?

(. Die Zahl wird zwischen Klicks ändern, abhängig von der Zeit und andere Dinge Und die Höhe der Zahlen wird immer 17)

Diese Dateien erstellen in einem Pfad (für diesen Fall wird: C:\Users\Desktop\Folder1) und kann nur 5 Dateien in diesem Folder1 sein.

Im selben Programm habe ich eine textBox, dass ich schreibe darauf die Nummer der Datei, die ich öffnen möchte. Wie kann ich nur die Nummern der .txt Dateien lesen und mit der Zeichenfolge auf textBox vergleichen?

+0

Haben Sie darüber nachgedacht, Regex.Match verwenden? https://msdn.microsoft.com/en-us/library/twcw2f1c(v=vs.110).aspx – Zze

+0

@Zze werde ich versuchen ... Danke für die Antwort mich. –

Antwort

0

Wenn es immer 17 Ziffern ist, können Sie einfach substring verwenden, um die Zahlen Teil der Zeichenfolge zu erhalten:

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

, wenn Sie den ersten Teil kennen, ist immer 3 Ziffern lang Sie dies tun können:

var numbers = textFileName.Substring(3); 

, wenn Sie wissen, dass es immer ein Unterstrich Zeichen von Zahlen folowed, können Sie dies tun:

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

aktualisieren

Um die Liste der Dateien in einem Verzeichnis erhalten Sie System.IO.Directory ‚s GetFiles Methode verwenden:

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

Danke für die Antwort, aber wie kann ich mit den Namen der Dateien im Ordner vergleichen? Brauche ich kein Verzeichnis? ... Ich bin Neuling in dieser Art der Programmierung ... –

+0

Verwenden Sie ['Directory.GetFiles'] (https://msdn.microsoft.com/en-us/library/system .io.directory.getfiles (v = vs.110) .aspx) Methode, um die Liste der Dateien in einem Verzeichnis zu erhalten. –

+0

Können Sie bitte genauer sein? Weil ich es versucht habe und nicht funktioniert ... –

Verwandte Themen