Avatar billede troev Nybegynder
29. marts 2003 - 19:20 Der er 6 kommentarer og
2 løsninger

Explodering eller Implodering

Hej!

Jeg skal hente noget tekst fra en tekstfil. Og så tænkte jeg, om jeg kunne læse det ind i et array. Jeg kan ikke huske om det hedder explode eller sådan noget, men der skal ske følgende.
f.eks:
strengen 'rip&rap&rup' skal blive til arrayet:
andeby[1] er 'rip'
andeby[2] er 'rap'
andeby[3] er 'rup'

Hvordan gør jeg det... (i flash 5)
Avatar billede hoejrup Nybegynder
29. marts 2003 - 19:38 #1
Prøv

strVar = "rip&rap&rup"
andeby = strVar.split("&");

/per
Avatar billede hoejrup Nybegynder
29. marts 2003 - 19:39 #2
Det burde give

andeby[0] = "rip"
andeby[1] = "rap"
andeby[2] = "rup"

/per
Avatar billede petemc Nybegynder
29. marts 2003 - 21:13 #3
Lad være med at bruge "&" til at separere din array, da den bruges a Flash til at separere variables!
Mange bruge | (pipe) da den ikke dykke op så meget i almindelig tekst.

din tekst fil komme til at se sådan ud;

myArray=rip|rap|rup

...og du læse den sådan i Flash

flashArray=myArray.split("|");
Avatar billede troev Nybegynder
29. marts 2003 - 23:19 #4
Den havde jeg selv gennemskuet... Men hvis hoejrup giver et svar, deler jeg points'ne...
Avatar billede hoejrup Nybegynder
30. marts 2003 - 10:30 #5
Her er der et svar.

Flash bruger ikke & til at separere variabler, men bruger den til at separere variabler der indlæses fra en txt fil. Eks. var=test&var2=test&var3=test3. Forekellen er bare at han ikke har noget lighedstegn i strengen, og så er det derfor uden betydning.

/per
Avatar billede barklund Nybegynder
30. marts 2003 - 17:18 #6
Nej, det er ikke uden betydning. Skriver du en tekstfil med:

var1=rip&rap&rup

Så får du i flash variablerne:

var1 = "rip"
rap = ""
rup = ""

Så der er en afgørende forskel... Jeg bruger ofte |, ^, $ eller tilsvarende tegn til at adskille med... :)

Og i din overskift nævner du slev implodering af arrays til streng:

andeby.join(", ");

Så bliver de sammensat med ", " som mellemrum.

/Barklund
Avatar billede barklund Nybegynder
31. marts 2003 - 10:47 #7
Forresten er streng-funktionerne som split() meget sløve i Flash 5.

Derfor bør du inkludere string.as (http://chattyfig.figleaf.com/~bhall/code/string.as) i din kode, som bare er en straight forward implementation af funktionerne, men som er meget hurtigere end de indbyggede...

For eksempel er den første meget hurtigere end den anden:

substring("test",1,3)
("test").substring(1,3)

Så i Branden's implementation er funktionerne blot implementeret på den mest logiske måde...
Avatar billede petemc Nybegynder
31. marts 2003 - 23:37 #8
hoejrup > "Flash bruger ikke & til at separere variabler, men bruger den til at separere variabler" (he,he)
Prøv at læse første linje er spørgsmålet igen...
Udover det er der også noget der hedder Good working practices, og at bruge "&" som delimiter er IKKE good working practice. Hvis du bruge den til en array der blive læste ind, enten fra en tekst fil, php eller asp vil du kun få den første element fra din array med, men det vidste du godt, ikke? ;)

Will program for Beer ;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester