---
title: "Söka/läsa EN rad ur en string"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10718-söka-läsa-en-rad-ur-en-string"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Maister"
published: "2001-07-22T13:22:00.000Z"
updated: "2001-07-22T15:24:00.000Z"
replies: 14
views: 232
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/10718-söka-läsa-en-rad-ur-en-string"
---

# Söka/läsa EN rad ur en string

## #1 — Maister, 2001-07-22T13:22Z

Jag har lagrat innehållet i en hemsida i en string. Har använt InStr för att leta fram en sak i strängen. Mid för att läsa ut x antal tecken från positionen jag fick genom InStr. Det jag vill göra nu är att leta efter en viss text på nästa rad, men bara på den och inte i hela strängen. Hoppades att .readline skulle funka, men det gjorde det inte. Några förslag?

Maister

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

## #2 — Pace, 2001-07-22T13:28Z

Du får nog förklara lite mer. Är det en matris (array) du menar eller vad?

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

## #3 — Maister, 2001-07-22T13:34Z

Nej, jag har använt funktionen nedan för att lagra html innehållet i string strHTML.

```
<%
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.HEMSIDAN.se/index.html", False
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing
%>
```

Nu vill jag söka igenom bara EN rad i strängen efter en viss text.

Säg till om du fortfarande inte fattar helt, så ska jag försöka förklara mer utförligt.

Maister

\[Redigerat av Maister den 22 jul 2001\]

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

## #4 — Pace, 2001-07-22T13:55Z

Så det är en vanlig sträng? En sträng har ju inga rader ?? 

Testa med
Response.Write isArray(strHtml)
och säg vad du får.

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

## #5 — Maister, 2001-07-22T14:07Z

Får false när jag kör det.
Inga rader?
Hmm, tar jag och kör Response.Write(strHTML) och kollar i källkoden till sidan så finns det rader, precis som html-filen jag läste in.

Maister

\[Redigerat av Maister den 22 jul 2001\]

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

## #6 — Pace, 2001-07-22T14:19Z

Aha! Nu förstår jag hur du menar! :)

Nej, det är inga rader i strängen, det är egentligen bara vagnreturer (typ av enter-tryckning)

Använd vbCrLf när du ska söka efter "nya rader" med hjälp av Mid så ska det nog lösa sig.

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

## #7 — Maister, 2001-07-22T14:29Z

Oki :)

Men hur ska jag använda vbCrLf med Mid?
Mid(sträng, start, längd). Jag är rätt ny inom ASP, så mer info/hjälp skulle uppskattas.

Maister

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

## #8 — Pace, 2001-07-22T14:33Z

Tyvärr så kan jag inte hjälpa dig så värst mycket just nu... är upptagen med andra saker :(

Men så här använder du mid:

Response.Write Mid(strHtml, InStr(vbCrLf, 1))

(Response.Write behöver du inte)

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

## #9 — Maister, 2001-07-22T14:34Z

Oki.

Tack för hjälpen iaf!

Maister

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

## #10 — LarsG, 2001-07-22T14:35Z

Du kan dela upp sträng i olika bitar om du använder split

```
  rows = split(strHtml,vbCrLf)
```

rows blir då en array där varje element innehåller en rad.

rows(0) är första raden
rows(1) är andra raden osv.

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

## #11 — Maister, 2001-07-22T14:44Z

Aha!

Det tänkte jag inte på.
Tack för det LarsG. :)

Lite frågor angående det dock.
Kan jag söka igenom hela "rows" på en gång, eller får jag loopa och ta en array i taget tills jag hittar det jag söker? Om ja på frågan, kan jag då få fram i vilken array jag befinner mig, så jag kan gå till nästa?

Maister

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

## #12 — Pace, 2001-07-22T14:55Z

LarsG - räddaren i nöden ;)

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

## #13 — LarsG, 2001-07-22T15:05Z

Du kan loopa över alla element i arrayen om du använder den kodbiten

```
for i = 0 to ubound(rows)
'behandla raden
next i
```

och då motsvarar ju i+1 den rad du befinner dig på

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

## #14 — Pace, 2001-07-22T15:06Z

Japp, du kan göra så, fast du måste loopa igenom den om du ska läsa igenom hela. Det gör du på detta vis:

```
For aktuellRad = 1 To Ubound(rows)
   Response.Write "på rad " & aktuellRad & " står det " & rows(aktuellRad)
Next
```

Inga konstigheter här hoppas jag. Fråga om det är något.

Om du vill leta efter en sträng lägger du till följande kod innanför For & Next:

```
If InStr(rows(aktuellRad), "det du vill söka efter") Then
' hittat!
End If
```

När du väl har hittat texten du söker kan du avsluta For loopen med "Exit For".

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

## #15 — Maister, 2001-07-22T15:24Z

Tackar så mycket båda två! :e

Ni har verkligen varit till stor hjälp.
Nu ska det testas

Maister

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10718-söka-läsa-en-rad-ur-en-string
