Just nu i M3-nätverket
Jump to content

Splitta sträng


m a r c u s

Recommended Posts

Sitter här med strängen q. Den ser ut så här:

 

johan "kalle svensson" lisa sofia

 

Alltså en vanlig söksträng!

Nu vill jag dela upp q i en array, med ett sökord i varje element. Ovan finns det naturligtvis fyra sökord. Hur kan man tänkas göra det? Söker efter en någorlunda enkel lösning - med 100 rader kod kan man göra det mesta...

Link to comment
Share on other sites

Som vanligt finns det väl nåt annat sätt att göra det, men det enklaste (för mig) är att bara göra det:

 

bQuote = false

strTemp = ""

array = ny array ' vet ej hur det funkar i vb

 

for i = 1 to len(q)

c = mid(q, i, 1)

if c = " " and bQuote = false then

' lägg till strTemp i arrayen.

strTemp = ""

else if asc© = 34 then

if bQuote = false then

bQuote = true

else

bQuote = false

' lagra strTemp i arrayen.

strTemp = ""

end if

else

strTemp = strTemp & c

end if

next

 

Principen är alltså den att du läser igenom tecken för tecken och sparar till strTemp. När du kommer till ett mellanslag så sparas det du fått i strTemp dittills som ett nytt element i arrayen. strTemp nollställs därefter och du fortsätter kolla tecken för tecken. Kommer du till ett " så sparas inte strTemp när den kommer till mellanslag, utan istället sparas strTemp till arrayen när nästa " kommer. Där nollställs då både strTemp samt "-tecknet så den sparar efter mellanslag igen.

 

 

Link to comment
Share on other sites

En liten detalj bara som jag glömde (men som kanske du kom på själv) är ju att när loopen är slut (efter next) så måste du ju spara det som eventuellt finns i strTemp då, annars kommer ju inte sista sökordet med.

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...