Hej! För det första är det att rekommendera att döpa variablerna till något annat än a, b, c... Mid är VB6 legacy kod , ett mer .net vänligt sätt är att använda Formatera ett värde före inläsning till databasen
Jag hämtar en massa filnamn från en katalog på servern till en listview som ser ut så här 12345a.jpg, 12345b.jpg, 12346a.jpg osv..
Nu vill jag spara ner artikelnumret i filnamnet (12345, 12346 osv)
Hur gör jag för att splitta den inlästa datan?
<code>
lvwFiler.Items.Clear()
Dim SökVäg As New IO.DirectoryInfo(txtSökväg.Text)
Dim FilLista() As IO.FileInfo = SökVäg.GetFiles()
Dim lvi As New ListViewItem
Dim fi As IO.FileInfo
For Each fi In FilLista
lvi = lvwFiler.Items.Add(fi.Name)
lvi.SubItems.Add(fi.Length \ 1024 + 1 & " KB")
lvi.SubItems.Add(fi.Extension)
lvi.SubItems.Add(fi.LastWriteTime)
Dim a, b, c, d, f, g As String
a = fi.Name
b = fi.Length
c = fi.Extension
d = fi.LastWriteTime
f = fi.LastAccessTime
g = ?????
</code>
g skall alltså vara bara siffrorna i artikelnr som = de 5 första tecknana i a.Sv: Formatera ett värde före inläsning till databasen
Och för att ta ut enbart siffrorna får du använda någon metod, antingen egna skrivna funktioner eller ett Reguljärt Uttryck.
<code>
g = System.Text.RegularExpressions.RegEx.Match(fi.Name, "^\d+").Value
</code>
Ovanstående borde fungera, har inte testat, om filnamnen börjar på siffror och det är de du vill få ut.Sv: LÖST
g = a.Substring(1,5)