hur kan jag kora en split mellan tva stycken " ",
strangen ser ut som foljande just nu:
"lashd","alkaklsd", jhasdjk, asdk","klasj"
vill att den ska splitta det som finns mellan citat-tecknena och lagra det i en array
15 svar · 532 visningar · startad av Gimbo
hur kan jag kora en split mellan tva stycken " ",
strangen ser ut som foljande just nu:
"lashd","alkaklsd", jhasdjk, asdk","klasj"
vill att den ska splitta det som finns mellan citat-tecknena och lagra det i en array
array = split(str, """,""")
den borde fungera men array(0) blir då
"lashd
Alltså med ett citattecken först... Splittern splittar vid varje ",". Jag skulle rekommendera att du splittar med kanske #%# efterssom den ordningsföljden av de tecknena osannolikt skulle kunna förekomma i en vanlig text när däremot citatecken och kommatecken är vanliga...
om du skapar strängen själv skulle jag rekommendera att du lägger in en ovanlig textföljd där den ska splittas...
ex. om du lägger till #%# efter varje textstycke:
str = "Detta ska vara#%#en sträng med tecken i." & "#%#"
str = str & "Nu kommer lite till#%#tecken" & "#%#"
array = split(str, "#%#")
Då får du:
array(0) = "Detta ska vara"
array(1) = "en sträng med tecken i."
array(2) = "Nu kommer lite till"
array(3) = "tecken"
skapar tyvarr inte strangen sjalv, och det e just det problemet du namner som jag far, gar detta att loa pa ngt vis?
Hur vill du att resultate ska se ut?
"blabal","blabla,"blabl"
"1568","879","908"
vill att d ska se ut som
1568 = u(3)
879 = u(4)
908 = u(5)
eftersom jag inte vill ha med de tre forts sa loopar jag fran i = 3 to ubound, men far u(3) = "1568 vill inte ha med "-fnuttarana i ngt av vardena
HEJ!
Men, om du splittar på ", ska de ju inte komma med?
Stoppa annars in en Replace på lämpligt ställe.
http://www.devguru.com/Technologies/vbscript/quickref/replace.html
Det känns också som att en relevant sträng med text hade varit lättare att arbeta med för oss?
ok, vet inte hur jag skall forklara det battra an sa har, men jag gor ett sista forsok:
det e tva stycken rader jag har ett med information och den andra med varden, bada raderna ser ut pa samma satt med:
"info1","info2","info3"...,"info14"...
"varde1","varde2","varde3"...,"varde14"
jag vill endast splitta vardena och kor med foljande loop:
For i = 13 to ubound(u)
Response.Write i & "col"
response.write u(i) & "<br>"
next
nar jag skriver ut vardena sa ser mitt forsta varde ut pa foljande vis:
13colinfo14" "varde1
och det sista i loopen e detta
26col"
och min split ser ut pa foljande vis:
u = Split(Response, CHR(34) & "," & CHR(34), -1, vbTextCompare)
hoppas ni forstar mig nu, vill enbart loopa det som finns mellan dubbel fnuttarna och nar jag gor min split sa blir det konstigt som ni ser.
<%
dim arrTmp()
strVar = """lashd"",""alkaklsd"", ""jhasdjk"", ""asdk"",""klasj"""
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = """(.*?)"""
Set Matches = objRegExp.Execute(strVar)
if Matches.count > 0 then
redim arrTmp(Matches.count - 1)
For i = 0 to Matches.count - 1
arrTmp(i) = Matches(i).SubMatches(0)
Response.write "arrTmp(" & i & ") = " & arrTmp(i) & "<br>"
Next
else
response.write "inga träffar!"
end if
%>
?
finns det ngt annat alternativ forrutom regExp for jag far detta felmeddelande:
Library not registered.
den ogillar regExp
Jag hade försökt göra det lättare för mig.
mvh
anders strangen bestammer inte jag, utan far den som jag visat... har du mojligtvis ngn kod som kan hjalpa?
Bara för att du får strängen betyder inte det att du inte kan modifiera den. Lägg till ", först och ," sist.
ok du har ratt, men jag loopar ju fran i = 13 dvs andra raden pa strangen jag far hur skall jag kunna lagga till det dar pa borjan o slutet av andra raden?
Du får visa mer kod. Hur du får in sakerna i variabler, hur du splittar, etc.
jag loste det pa ett underligt men lyckat satt:
u = Split(Response, vbCrLf, -1,vbTextCompare)
y = """," & u(1) & ","""
a = Split(y, CHR(34) & "," & CHR(34), -1, vbTextCompare)
Det var så jag menade att du skulle göra, så det var ju bra att du fick ihop det. :)