Avatar billede jelle Nybegynder
01. marts 2006 - 11:50 Der er 11 kommentarer og
1 løsning

split streng mellem tekst og tal

Hej!
Jeg skal splitte nogel forskellige strenge, som f.eks kan være: "MH kasse 1" "MH1" "kasse1". det jeg skal bruge er at den smider teksten over i et array og tallene i et andet.

Nogen der kan hjælpe?
Avatar billede medions Nybegynder
01. marts 2006 - 11:55 #1
Du kan bruge:
strTxt = "MH kasse 1"
arrTxt = Split(strTxt)

Og så kan du så begynde at køre det igennem med en forløkke fx. og så spørge på om IsNumeric() osv. og på den måde sortere det ud som du vil ha' det...

//>Rune
Avatar billede jelle Nybegynder
01. marts 2006 - 12:09 #2
skal lige ha lidt mere hjælp... noget færdigt kode ville være rart...
Avatar billede softspot Forsker
01. marts 2006 - 13:10 #3
Kan du ikke prøve at skitsere resultatet med et eksempel for det er lidt svært helt præcis at tyde hvad du vil opnå...?
Avatar billede jelle Nybegynder
01. marts 2006 - 14:31 #4
jeg har f.eks følgende fra en databasefeltet nummer (hver sin række):
MH kasse 1
MH1
SC1
SC kasse 1
MH kasse 2

så vil jeg gerne have det splittet op i 2 array, som vist her under...:

TEKST                              TAL
MH Kasse                            1
MH                                  1
SC                                  1
SC kasse                            1
MH kasse                            2

håber det hjalp lidt
Avatar billede softspot Forsker
01. marts 2006 - 14:42 #5
Meget :)

Jeg går ud fra at der ikke kan forekomme bogstaver efter et tal i den samme værdi og at de tal der kan forekomme er heltal...?

I så fald kan du bruge flg. løkke til at søge igennem hver streng:

for i = 1 to len(strTekst)
  if instr(numbers, mid(strTekst,i,1)) > 0 then
    ' så er dette et tal, hvilket betyder at løkken skal stoppes
    ' og tallet skal trækkes ud af den resterende streng
    tallet = mid(strTekst, i)
    exit for
  else
    teksten = teksten & mid(strTekst,i,1)
  end if
next
Avatar billede softspot Forsker
01. marts 2006 - 14:43 #6
Faktisk betyder det ikke noget om det er heltal eller ej, bare der ikke forekommer bogstaver efter det første tal i strengen :)
Avatar billede jelle Nybegynder
01. marts 2006 - 16:47 #7
kan ikke få det til at virke...
hvis jeg laver en response.write på "tallet" for jeg ingenting, og på "teksten" for jeg bare det samme som strTekst...
Avatar billede softspot Forsker
01. marts 2006 - 17:02 #8
Jeg kan se at jeg lige mangler at definere numbers- Jeg undskylder forglemmelsen.

numbers = "0123456789"
for i = 1 to len(strTekst)
  if instr(numbers, mid(strTekst,i,1)) > 0 then
    ' så er dette et tal, hvilket betyder at løkken skal stoppes
    ' og tallet skal trækkes ud af den resterende streng
    tallet = mid(strTekst, i)
    exit for
  else
    teksten = teksten & mid(strTekst,i,1)
  end if
next
Avatar billede jelle Nybegynder
01. marts 2006 - 17:06 #9
super så virkede det!
tusind tak!
Avatar billede jelle Nybegynder
01. marts 2006 - 17:07 #10
arg det var til den forkerte...
opretter lige et spørgsmål til dig softspot..
Avatar billede jelle Nybegynder
01. marts 2006 - 17:08 #11
softspot: opret venligst svar i http://www.eksperten.dk/spm/691904
Avatar billede softspot Forsker
01. marts 2006 - 18:24 #12
Takker for point :)
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