aleborgMedlem sedan jan. 20012 962 inlägg
jag har en sträng som ser ut ungefär så här:
ord1,ord2,ord3,ord4 vcrlf ord1,ord2,ord3,ord4 vcrlf ord1,ord2,ord3,ord4 vcrlf ord1,ord2,ord3,ord4 vcrlf ord1,ord2,ord3,ord4 vcrlf
Jag behöver ha ut ord1 i varje "rad" som är splittad med vbcrlf. HUR?
------------------
Aleborg Solutions
Data-Doktorn
Min egen musik!
Mitt coverband
LarsGMedlem sedan dec. 200012 465 inlägg
'str sträng med rader indelade av vbcrlf
dim a
a = split(str,vbcrlf)
dim words,firstWords()
words = ubound(a) + 1
redim firstWords(words)
dim i
for i = 0 to words
firstWords(i) = left(a(i),instr(a(i),",")-1)
next
------------------
essentitia preter non sans multiplicandum
aleborgMedlem sedan jan. 20012 962 inlägg
Glömde säga att dom 5 första "raderna" inte följer det mönstret och ska inte inkluderas överhuvudtaget!
Så nu får jag:
Invalid procedure call or argument: 'left'
------------------
Aleborg Solutions
Data-Doktorn
Min egen musik!
Mitt coverband
LarsGMedlem sedan dec. 200012 465 inlägg
Så här då, nu hoppar jag över de fem första och jag har även lagt till en kontroll om det finns ett komma. Om inte så lagras hela den raden som ett ord.
'str sträng med rader indelade av vbcrlf
dim a
a = split(str,vbcrlf)
dim words,firstWords()
words = ubound(a) + 1 - 5
redim firstWords(words)
dim i,pos
for i = 0 to words
pos = instr(a(i+5),",")-1)
'dubbelkoll
if pos > 0 then
firstWords(i) = left(a(i+5),pos)
else
firstWords(i) = a(i+5)
end if
next
------------------
essentitia preter non sans multiplicandum
aleborgMedlem sedan jan. 20012 962 inlägg
hmm, nu funkar det bättre men nu får jag
Subscript out of range: '[number: 24]'
på rad:
pos = instr(a(i+5),",")-1
------------------
Aleborg Solutions
Data-Doktorn
Min egen musik!
Mitt coverband
LarsGMedlem sedan dec. 200012 465 inlägg
Jag gick ett steg för långt.
'str sträng med rader indelade av vbcrlf
dim a
a = split(str,vbcrlf)
dim words,firstWords()
words = ubound(a) + 1 - 5
redim firstWords(words)
dim i,pos
for i = 0 to words - 1
pos = instr(a(i+5),",")-1)
'dubbelkoll
if pos > 0 then
firstWords(i) = left(a(i+5),pos)
else
firstWords(i) = a(i+5)
end if
next
------------------
essentitia preter non sans multiplicandum
aleborgMedlem sedan jan. 20012 962 inlägg
tack, nu funkar det!
om någon annan vill använda koden så ska det tilläggas att den här raden:
pos = instr(a(i+5),",")-1)
ska vara
pos = instr(a(i+5),",")-1
------------------
Aleborg Solutions
Data-Doktorn
Min egen musik!
Mitt coverband
aleborgMedlem sedan jan. 20012 962 inlägg
Någon som vet hur man får fram ord 3 istället???
------------------
Aleborg Solutions
Data-Doktorn
Min egen musik!
Mitt coverband
LarsGMedlem sedan dec. 200012 465 inlägg
'str sträng med rader indelade av vbcrlf
dim a
a = split(str,vbcrlf)
dim words,firstWords()
words = ubound(a) + 1 - 5
redim firstWords(words)
dim i,b
for i = 0 to words - 1
b = split(a(i+5),",")
if ubound(b) >= 2 then
firstWords(i) = b(2)
else
firstWords(i) = a(i+5)
end if
next
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 03 feb 2002]