webForumDet fria alternativet

split() & array-fråga

3 svar · 267 visningar · startad av Peeer

PeeerMedlem sedan mars 20025 907 inlägg
#1
str = "2;45;en massa text#4;55;en massa mer text#45;1;ännu mer text#142;3;sista texten#"

jag har en sträng som ser ut ungefär som ovan. dvs. "tal;tal;text#" flera gånger. Nu vill jag splitta upp strängen och spara i en 2-dimensionell array, men jag lyckas inte.

Jag vill att den ska se ut något sådant här

arr(0,0) = 2
arr(0,1) = 45
arr(0,2) = en massa text
arr(1,0) = 4
arr(1,1) = 55
osv..
VideMedlem sedan dec. 19998 577 inlägg
#2

Nu tar jag direkt ur huvudet, men det kanske är en bit på vägen ;)

aStr = split( str, "#" )
Dim arr(ubound(aStr),2)

for i = 0 to ubound( aStr )
  for j = 0 to 2
    arr(i,j) = replace( split( aStr( i ), ";" )( j ), "#", "" )
  next
next
LarsGMedlem sedan dec. 200012 464 inlägg
#3

Avslutas strängen med #? I så fall får strunta i den vid split

dim str,a,b(),c,i,j
str = "2;45;en massa text#4;55;en massa mer text#45;1;ännu mer text#142;3;sista texten#"
a = split(left(str,len(str)-1),"#")
redim b(ubound(a),2)

for i = 0 to ubound(a)
    c = split(a(i),";")
    for j = 0 to 2
        b(i,j) = c(j)
    next
next
PeeerMedlem sedan mars 20025 907 inlägg
#4

Tackar! :)

128 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)