Avatar billede razmuz_dk Nybegynder
18. januar 2001 - 21:01 Der er 14 kommentarer og
1 løsning

Split ved \" \"

At splitte en string ved \" \" (ved et mellemrum) ...?


-  Taaark!
Avatar billede jimmidreng Nybegynder
18. januar 2001 - 21:04 #1
MitArray = Split(Streng,\" \")
Avatar billede jimmidreng Nybegynder
18. januar 2001 - 21:05 #2
Hvor mange poster der er i arrayet:
Ubound(MitArray)

Udskrive:
For F = 1 to Ubound(MitArray)
Text1.Text = Text1.Text & MitArray(F) & VbCrlf
Next
Avatar billede vandhunden Nybegynder
18. januar 2001 - 21:07 #3
tal = 0
do
tal = tal + 1
if mid(streng, tal, 1) = \" \" then exit do
loop
delstreng1 = mid(streng, 0, tal)
delstreng2 = mid(streng, tal + 1, len(streng))

Sådan deler du den i to.
Avatar billede jimmidreng Nybegynder
18. januar 2001 - 21:12 #4
Okay Vandhunden, det var da den besværligste løsning jeg længe har set! :-)
Desuden virker den ikke hvis der er mere end et mellemrum.

/Jimmi
Avatar billede joern Nybegynder
18. januar 2001 - 21:25 #5
>Jimmidreng.
Ja, se det afhænger jo af versionen.  Næsten igen spørgere angiver hvilken VB-version de benytter. Går man bare ud fra at det er 6\'eren.  Jeg har den ikke, kun en 5\'er.
M.v.h.  Jørn
Avatar billede vandhunden Nybegynder
18. januar 2001 - 21:26 #6
Det ved jeg godt. Jeg har heller aldrig rørt visual basic. Men jeg programmerede engang Qbasic, så jeg regnede med at det ville virke hvis jeg var heldig.  .o0:-)
Avatar billede jimmidreng Nybegynder
18. januar 2001 - 21:29 #7
Så vidt jeg ved virker Split da også i VB5, men du har da ret, versionen er tit ikke nævnt.

Dog kan man sige at de fleste af Eksperten spørgsmålene er ret basic, så medmindre man sidder med ver. 2.0 skulle det jo gerne virke.
Avatar billede joern Nybegynder
18. januar 2001 - 22:18 #8
>Jimmidreng.

Nej \"split\" findes ikke i VB5.  Men spørgeren razmuz.dk har ikke været på banen endnu og uddybet spørgsmålet.  Måske er der kun 1 eller 2 mellemrum i hans strenge.  Hvis antallet er variende afhænger det jo af formålet, om han kan komme videre derfra.
>vandhunden.  I stedet for løkken der tæller 1 op, findes \"Instr\" helt tilbage fra VB3, muligvis før.

a=instr$(streng,\" \")
venstre=left$(streng,a-1)
hojre=right$(streng,a+1)

Så kan man lave løkke indtil der ikke er flere blanke, altså a=0, ved at fortsætte på hojre.

M.v.h.  Jørn
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 23:24 #9
joern:> InStr findes helt tilbage til VB 1.0 for DOS ;o) (ved jeg da jeg har samtlige versioner fra VB 1 f. DOS til og med VB 6.0)
Avatar billede joern Nybegynder
18. januar 2001 - 23:39 #10
>tdaugaard.  Tænkte det nok!
Der er ved gensynet en fejl ovenfor hos mig.  Også hojre skal skæres ved (a-1), mellemrummet skal ikke med i nogen af streng-delene.  Men er det rigtigt at split ikke findes i VB5?  Jeg søgte bare i hjælpen.
M.v.h.  Jørn
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 23:44 #11
joern:> jeg mener at Split() først kom i VB 6 .. jeg har i hvert fald aldrig hørt om at Split() virker i VB 5.
Avatar billede tdaugaard Nybegynder
18. januar 2001 - 23:56 #12
Hvis ikke man har VB 6.0 kan man bruge flg. som splitter en streng i et array ligesom Split()

    ReDim arrItems(0) As String
   
    strText = \"dette er en test af en streng *G*\"
   
    Do
        Index = InStr(strText, \" \")
        If Index = 0 Then
            arrItems(UBound(arrItems)) = strText
            Exit Do
        End If
       
        strItem = Left(strText, Index)
        arrItems(UBound(arrItems)) = strItem
       
        strText = Right(strText, Len(strText) - Index)
       
        ReDim Preserve arrItems(UBound(arrItems) + 1) As String
    Loop
   
    For Index = 0 To UBound(arrItems)
        Debug.Print arrItems(Index)
    Next
Avatar billede razmuz_dk Nybegynder
14. maj 2001 - 12:18 #13
.
Avatar billede razersedge Nybegynder
01. november 2001 - 20:33 #14
hehe... lidt utaknemlig?
Avatar billede razersedge Nybegynder
01. november 2001 - 20:36 #15
Oprettelsesdato 
Point ved oprettelse 300
Point opsparet (11626 dage * 5 point) 58130
Point tjent 0
Point brugt 0
Point ude 0
Banner Point 0
I alt 58430


hmmm ifølge dette skulle han være oprettet for 31 år siden??
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