2016-07-08 6 views
-3

Ich habe mehrere Dateien mit Datum und jede Datei hat unterschiedliche Länge des Dateinamens. Ich möchte die Zeichenfolge schneiden, um nur den Dateinamen zu erhalten.VB.Net Reverser und Substring eine Zeichenfolge

So wie ich es in Sql zu tun ist

REVERSE(SUBSTRING(REVERSE('the full file name'), 10, LEN('the full file name')))

Beispiel Dateinamen:

Myfile_20160708, MyFile123_20160708, Myfiles12345_20160708

Und ich das Ergebnis sein wollen:

Myfile, MyFile123

Wie erreiche ich es in VB.Net Code?

+0

IndexOf Interesse zu erhalten() wird Ihnen sagen, wo die „_“ angezeigt wird, erhalten die ersten N Zeichen – Plutonix

+0

Sie spalten auf _ und nimm das erste Ergebnis. – Will

+0

Dim strMyString als String = ("MyFiles_20160708"). Split ("_") (0) – Leprechaun

Antwort

1

So etwas wie das.

Dim s As String = "Myfile_20160708" 
Dim pos = s.IndexOf("_"c) 
If pos >= 0 Then 
    s = s.Substring(0, pos) 
End If 

verwendet IndexOf die Position des Unterstrichs und Teilzeichenfolge zu finden, um den Teil, den Sie in

+0

Es wäre effizienter, den Wert von 's.IndexOf (" _ "c)' zu erhalten und zu überprüfen, ob es> = ist 0. –

+0

@AndrewMorton - vereinbart. Ich habe die Antwort geändert, um dies zu reflektieren –