sp
Nybegynder
14. november 2000 - 22:15
Der er
14 kommentarer og 1 løsning
Instr med linjeskift??
Hejsa. Jeg har et problem med et linjeskift i min tekstfiler. Jeg ønsker at lave scriptet så det også er muligt at have et linjeskift i strengen. Kan det ikke lade sig gøre? Hvilket skal man bruge? Jeg har forsøgt med: vbCrLf og Chr(13) jeg har også forsøgt at bruge Trim(), men det virker heller ikke.. Håber nogle kan hjælpe
Annonceindlæg fra Pax8
14. november 2000 - 22:18
#1
Linie skift ? Du vil finde linieskift i en streng ?
14. november 2000 - 22:36
#2
chr(13) er ikke linieskift men \"vogn retur\" som det kaldes i gamle dage fra skrivemaskinernes tid. chr(10) er linieskift og man bruger dem som regel sammen, chr(10) og chr(13) prøv evt. med #10#13 f.eks. \'tekstlinie 1\'+#10#13+\'tekstlinie2\'
sp
Nybegynder
14. november 2000 - 22:39
#3
Nej jeg vil finde pladsen for linjeskiftet + 1 d.v.s. pladsen efter linjeskiftet, så jeg får det første tegn. Hvis jeg har en tekstfil f.eks. med html, er en del af koden på næste linje, og det kan instr ikke finde ud af uden videre. Søg efter tegnet efter \'*\' (*+1) Eks. blablabla* cscscs den skal så returnere \'c\'
14. november 2000 - 22:42
#4
ok, så prøv at søge efter #13 istedet for *. NB! du skal ikke sætte #13 i anførselstegn
sp
Nybegynder
14. november 2000 - 22:50
#5
Nej jeg skal have den til at finde \'c\' efter linjeskiftet
14. november 2000 - 22:55
#6
intPos = InStr(\"en streng \" & vbCrLf & \"med linieskift.\", vbCrLf) + 1 eh ?? eller så er det nogle underlige linieskift du holder dig til ...
14. november 2000 - 22:57
#7
Nej, faktisk skal du plusse med 2 da den smider starten af vbCrLf tilbage.. (og VbCrLf er 2 tegn..)
sp
Nybegynder
14. november 2000 - 23:05
#8
For at være helt præcis er det mit script der skal læse meta-tags. <Meta name=\"description\" content= \"Hejsa dette er en test\"> Jeg skulle så gerne have funde \", men den finder ikke noget af det. If instr(line,\"<meta name=\"\"description\"\" content=\" & vbCrLf &\" \"\" \") then startBesk = Instr(1,line,\"<meta name=\"\"description\"\" content=\" & vbCrLf & \" \"\" \")+1
14. november 2000 - 23:08
#9
hæ hæ .. okay, nu skal du høre. Hvis du søger på en streng \'noget tekst\' for eksempel, så hvis den findwer noget, får du positionen på STARTEN af strengen i den streng du søger i. Derfor vil du ved: If instr(line,\"<meta name=\"\"description\"\" content=\" & vbCrLf &\" \"\" \") then få returnerert 1, da < er det første tegn. brug istedet f.eks. If instr(line, \"content=\" & chr(34)) then så får du starten af content ..
sp
Nybegynder
14. november 2000 - 23:23
#10
>If instr(line,\"<meta name=\"\"description\"\" >content=\" & vbCrLf &\" \"\" \") then >få returnerert 1, da < er det første tegn. >brug istedet f.eks. Når sådan virker den nu ved tekstfiler hvor der IKKE er linjeskift. >If instr(line, \"content=\" & chr(34)) then >så får du starten af content .. chr(34) hvor mange er der. Er der nogen liste på det? Den prøver jeg
14. november 2000 - 23:25
#11
chr(ascii) returnere tegnet som streng. f.eks. 34 er \" .. 32 er mellemrum, 64 er @ etc.
sp
Nybegynder
14. november 2000 - 23:37
#12
Sådan her kommer det til at se ud. Den undersøger først det ene og hvis den ikke finder noget, så det andet.. vh Søren Peter If instr(line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34)) then startBesk = Instr(1,line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34))-4 Besk=1 elseIf instr(line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34)) then startBesk = Instr(1,line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34)) Besk=1 End if
sp
Nybegynder
14. november 2000 - 23:39
#13
Om igen: If instr(line,\"name=\"\"description\"\" content=\"\"\") then startBesk = Instr(1,line,\"name=\"\"description\"\" content=\"\"\") Besk=1 om igen elseIf instr(line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34)) then startBesk = Instr(1,line,\"name=\"\"description\"\" content=\" & vbCrLf & chr(34))-4 Besk=1 End if
14. november 2000 - 23:40
#14
så virker det kan jeg regne ud ? det var fint!
sp
Nybegynder
14. november 2000 - 23:43
#15
Jeps takker... Jeg er vist lidt træt siden jeg skriver \'om igen\' et par gange;-) Søren
Kurser inden for grundlæggende programmering