Avatar billede graugart Nybegynder
03. august 2001 - 11:56 Der er 10 kommentarer og
1 løsning

opdeling af streng med komma-seperation

Hej

Jeg har en streng indholdende tal sepereret med kommaer (evt mellemrum efter hvert komma). Hvordan får jeg disse tal \"pillet ud\" og puttet ind i en array?

altså fx er strengen \"5,76,103,200\" og så vil jeg have en array:

arr(0) = 5
arr(1) = 76
arr(2) = 103
arr(3) = 200

Håber nogen kan hjælpe

mvh

Christian Graugart
Avatar billede erikjacobsen Ekspert
03. august 2001 - 11:59 #1
funktionen split - check din ASP-dokumentation
Avatar billede nute Nybegynder
03. august 2001 - 12:00 #2
<%
Dim streng, arr
streng = \"5,76,103,200\"
arr = SPLIT( streng, \",\" )

for i = 0 to UBOUND(arr)
  response.write arr(i) & \"<br>\"
next

%>

/nute
Avatar billede graugart Nybegynder
03. august 2001 - 12:01 #3
fedt tak for hjælpen... men virker den også hvis strengen fx er \"5, 76, 103, 200\"?
Avatar billede erikjacobsen Ekspert
03. august 2001 - 12:02 #4
Ja, men så kommer der mellemrum før tallene i tabellen.
Avatar billede nute Nybegynder
03. august 2001 - 12:03 #5
så skal du bare utføre en SPLIT sånn:

arr = SPLIT( streng, \", \" )
Avatar billede nute Nybegynder
03. august 2001 - 12:03 #6
erik >> det var da uhyggelig oppmerksom og rask du var i denne thread ;-)

/nute
Avatar billede graugart Nybegynder
03. august 2001 - 12:05 #7
ok men jeg ved ikke om der er eller ikke er mellemrum, men så må jeg vil bare checke de enkelte værdier i array\'en...

tusind tak for hjælpen, her er de velfortjente point :)
Avatar billede erikjacobsen Ekspert
03. august 2001 - 12:06 #8
Til gengæld må han så ikke blande det:  \"1,2, 3, 5,    6\" vil give forkert resultat
Avatar billede nute Nybegynder
03. august 2001 - 12:09 #9
yup...strengen man skal splitte må være konsistent. Alternativet kan jo være å splitte på komma, og deretter trimme strengen:

<%
Dim streng, arr
streng = \"5, 76, 103 , 200  , 201\"
arr = SPLIT( streng, \",\" )

for i = 0 to UBOUND(arr)
  arr(i) = TRIM(arr(i))
  response.write arr(i) & \"<br>\"
next

%>

/nute
Avatar billede graugart Nybegynder
03. august 2001 - 12:11 #10
tak for tippet med trim() den vil jeg bruge...

hvilken datatype vil I anbefale til strengen (fx \"3,5,19\")? char? kan jo ikke bruge int...
Avatar billede nute Nybegynder
03. august 2001 - 12:44 #11
vel...strengen kjan jo ikke være annet enn en streng ;-) Men hvis du er sikker på at den kun inneholder tall, så kan du omgjøre dem til int:

<%
Dim streng, arr
streng = \"5, 76, 103 , 200  , 201\"
arr = SPLIT( streng, \",\" )

for i = 0 to UBOUND(arr)
  arr(i) = CInt(TRIM(arr(i))) \' Alternativt bruk CLng hvis tallene er store
  response.write arr(i) & \"<br>\"
next

%>

/nute
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
Kurser inden for grundlæggende programmering

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