---
title: "söka i textfil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9116-söka-i-textfil"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "aleborg"
published: "2001-04-20T02:14:00.000Z"
updated: "2001-04-22T18:02:00.000Z"
replies: 17
views: 396
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/9116-söka-i-textfil"
---

# söka i textfil

## #1 — aleborg, 2001-04-20T02:14Z

Jag har en textfil med några hundra rader, varje rad ser ut så här:

text&#0124;--&#0124;00000014

med "text" och "00000014" olika på varje rad. Jag vill söka igenom textfilen och hitta den "text" som matchar min sökning och sedan skriva ut "00000014" delen, hur gör jag?
(hata textfiler;) )

\[Redigerat av aleborg den 20 apr 2001\]

Permalänk: https://www.webforum.nu/p/9116

## #2 — @nders, 2001-04-20T04:14Z

nånting sånt här borde vara funkis?

```
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("c:\blah\blah.txt", 1)
while not filen.atendofstream
if instr(filen.readline, strSok) >0 then
arrContents = split(filen.readline,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
filen.close
fso.close
set fso=nothing
```

har man såna där textfiler så måste man berätta för sina vänner på wf varför man inte använder en databas! :)

mvh,

Permalänk: https://www.webforum.nu/p/266878

## #3 — aleborg, 2001-04-20T10:29Z

"Expected 'Wend'"

fick jag :(

Jag är tvungen att hämta info från en ett cgi-scripts databas(när ska dom lära sig att använda databaser?)

Permalänk: https://www.webforum.nu/p/266879

## #4 — @nders, 2001-04-20T10:31Z

cheez, my bad.
skrev otestat...

så här:

```
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("c:\blah\blah.txt", 1)
while not filen.atendofstream
if instr(filen.readline, strSok) >0 then
arrContents = split(filen.readline,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
end if
[b]wend[/b]
filen.close
fso.close
set fso=nothing
```

hmm, hade dessutom glömt ett end if. får väl skylla på den tidiga timman... ;)

funkar det nu :q

Permalänk: https://www.webforum.nu/p/266880

## #5 — aleborg, 2001-04-20T10:40Z

Lyckades faktiskt klura ut det helt själv \*stolt\*
men däremot så tyckte den inte om
fso.close
Object doesn't support this property or method: 'fso.close'
så jag tog bort det, då funkade det
MEN den läser siffrorna från raden under??????????

Permalänk: https://www.webforum.nu/p/266881

## #6 — @nders, 2001-04-20T10:42Z

ok, hur ser ditt kodavsnitt ut nu?

Permalänk: https://www.webforum.nu/p/266882

## #7 — aleborg, 2001-04-20T10:44Z

```
<%
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("E:\www\list.cgi", 1)
while not filen.atendofstream
if instr(filen.readline, Session("Username")) >0 then
arrContents = split(filen.readline,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
End if
wend
filen.close
fso.close
set fso=nothing
%>
```

Permalänk: https://www.webforum.nu/p/266883

## #8 — SPiN, 2001-04-20T10:46Z

Ta bara bort den raden... För ett FileSystemObject kan inte stängas, då det aldrig har öppnats (det kan inte öppnas).

Däremot ska filen.Close läggas till, då det objektet är av typen TextStreamObject :)

Permalänk: https://www.webforum.nu/p/266884

## #9 — @nders, 2001-04-20T10:46Z

sorry, my bad, igen :r

måste lägga readline in i en variabel, annars läser den ju en rad till....

så här:

```
%
Set fso = server.createobject("scripting.filesystemobject")
Set filen = fso.OpenTextFile("E:\www\list.cgi", 1)
while not filen.atendofstream
raden=filen.readline
if instr(raden, Session("Username")) >0 then
arrContents = split(raden,"&#0124;")
konstigasiffror = arrContents(2)
response.write "de konstiga siffrorna är " & konstigasiffror
End if
wend
filen.close
set fso=nothing
%>
```

sorry igen!

**red:** spin: tack för upplysningen och tillrättavisningen! :)

Permalänk: https://www.webforum.nu/p/266885

## #10 — SPiN, 2001-04-20T10:49Z

Alltid kul att rätta en expert :e ;)

\+ Du kanske ska ändra i din sista kod, så att aleborg inte gör samma fel igen :)

Permalänk: https://www.webforum.nu/p/266886

## #11 — @nders, 2001-04-20T10:50Z

tycker du det? jaja, jag gör väl det! :e

Permalänk: https://www.webforum.nu/p/266887

## #12 — aleborg, 2001-04-20T11:00Z

tack, allt funkar nu :)

Permalänk: https://www.webforum.nu/p/266888

## #13 — aleborg, 2001-04-22T16:47Z

inte....

om texten på en rad är

```
hej&#0124;--&#0124;00000014
```

och en annan rad

```
hej-b&#0124;--&#0124;00000028
```

så får jag fram "00000028" när jag ber om siffrorna till "hej"

Permalänk: https://www.webforum.nu/p/266889

## #14 — LarsG, 2001-04-22T16:54Z

Nu får du nog förklara lite mer. Vad menar du med: ber om siffrorna för hej?

Permalänk: https://www.webforum.nu/p/266890

## #15 — aleborg, 2001-04-22T17:24Z

koden tidigare i inlägget hämtar siffrorna i  efter &#0124;--&#0124;
när man söker efter det som står innan &#0124;--&#0124;
men det finns två rader som  är liknande så blir det problem

Permalänk: https://www.webforum.nu/p/266891

## #16 — @nders, 2001-04-22T17:26Z

då får du lägga till en pajp i din if-sats:

```
if instr(raden, Session("Username") & "&#0124;") >0 then
```

mvh,

Permalänk: https://www.webforum.nu/p/266892

## #17 — LarsG, 2001-04-22T17:34Z

Det där är väl inte helt vattentätt heller. Om någon heter tjohej och någon annan hej så blir det väl fle där också.

```
if mid(raden,1,instr(raden,"&#0124;")-1) = Session("Username") then
```

Permalänk: https://www.webforum.nu/p/266893

## #18 — aleborg, 2001-04-22T18:02Z

tack nu funka det :)

Permalänk: https://www.webforum.nu/p/266894

---

Tråden på webben: https://www.webforum.nu/amne/asp/9116-söka-i-textfil
