Probleme mit Strings

jokybordaux

Mitglied
Hi!
Ich mal wieder.
Ich habe ein Problem mit Strings.
Und zwar hab ich 2 mal den selben Code in Verwendung, aber er reagiert jedesmal verschieden.

Bei einer Form steht er so da:
Code:
Dim arkalk() As String = kalk.BNr.Split("A")
For Each str As String In arkalk
     'Abfrage,ob kalk.BNr aus einem A und Zahlen besteht
     If kalk.BNr = "A" & str Then
         CType(xlBlatt.Cells, Excel.Range)(curRow, 2).value = lv.PNr
     End if
Next str
Funktioniert so, dass er z.B.: "A0301.001" in kalk.BNr steht und gesplittet wird in "A" und "0301.001". Die Zahlen, also "0301.001" werden in str gespeichert.

Bei einer anderen Form steht der Code so da:
Code:
Dim arlvs() As String = lv.PNr.Split("01")
For Each strlv As String In arlvs
     'Abfrage,ob lv.PNr aus einem 01 besteht
     If lv.PNr = "01" & strlv Then
         CType(xlBlatt.Cells, Excel.Range)(curRow, 2).value = lv.PNr
     End if
Next strlv
Hier allerdings splittet das Programm von einer Position z.B.: 01060601F nur die "0" der Position ab, statt "01". Den Rest der Zahlen geht er einzeln durch. Dadurch kommt er nie in die If- Anweisung rein.
Wie soll der Code funktionieren?
Ganz einfach: Er soll mir von einer Position "01" abspalten, den Rest der Position, sprich in dem Beispiel "060601F" in strlv speichern und in die If- Anweisung rein gehen.

lg Tina
 
Das liegt daran daß split nur nach einzelnen Zeichen trennt und nicht nach ganzen Zeichenfolgen.
Das ist auch der grund warum es bei Beispiel 1 klappt, da hier nur nach 'a' gesplittet wird.

Am besten du prüfst mit startswith ob der String mit 01 anfängt und wenn ja nimmst du den rest der Zeichenfolge mit substring oder ähnlichem.


Grüße
Speedy
 
Zurück