---
title: "Stöta på tecken - Gör detta"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/81555-stöta-på-tecken-gör-detta"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "LeonL"
published: "2003-07-08T11:38:17.000Z"
updated: "2003-07-09T14:33:54.000Z"
replies: 15
views: 362
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/81555-stöta-på-tecken-gör-detta"
---

# Stöta på tecken - Gör detta

## #1 — LeonL, 2003-07-08T11:38Z

Nej jag visste inte hur jag skulle formulera rubriken :p
Till min fråga:

Hur ska jag göra för att gå igenom en sträng (från en textarea) för att leta efter vbCrlf?

Jag vill att för varje gång den hittar ett vbCrlf så ska den göra något som kommer att ta några rader, och dessutom vill jag att den då ska lägga till 1 på ett tal. Detta går ju knappast att lösa med Replace ... eller RegExp...

Ex:

Om den hittar en vbCrlf ska den göra detta:
x = x + 1
' plus en massa andra koder

Kan man lösa det på något smidigt sätt?

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

## #2 — Engine^, 2003-07-08T12:01Z

Jo, med RegExp går det ju utmärkt...

```
Sub FindVbCrLf(strSource)
  Set objRX = New RegExp
  objRX.Global = True
  objRX.Pattern = "\n"

  Set objMatches = objRX.Matches(strSource)

  For Each Match In objMatches
    [blue]'Do stuff... exempelvis x = x + 1[/blue]
  Next
End Sub
```

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

## #3 — LeonL, 2003-07-08T12:05Z

Jo... jag är ju inte så van vid RegExp så :r

Tack ;)

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

## #4 — LeonL, 2003-07-08T12:38Z

Microsoft VBScript runtime error '800a01b6' 
Object doesn't support this property or method: 'Matches' 

/test.asp, line 19 
 
        Set objMatches = objRX.Matches(strSource)

Tydligen är det felstavat eller något, men jag kan itne komma på vad som är felstavat :p

En annan fråga:
Jag vill att den ska skriva ut värdet.. men när den stöter på vbCrlf ska den stanna och köra lite koder, sedan vill jag att den ska fortsätta så... Hur gör jag då?

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

## #5 — LarsG, 2003-07-08T12:47Z

```
 
Set objMatches = objRX.execute(strSource)
```

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

## #6 — LeonL, 2003-07-08T13:13Z

Perfekt LarsG...

Jag kan formulera om min andra fråga... Jag håller på med ett sagoscript och jag vill att för varje radbrytning ska den lägga till en del TD- och TR-taggar... Jag vill alltså ha sagan fint uppdelad. Dessutom vill jag skriva in radnummret också... Förstår ni vad jag menar?

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

## #7 — LarsG, 2003-07-08T14:48Z

Det torde inte vara något problem. Varje match-objekt innehåller attributet firstindex som anger var vbcrlf hittades.

```

Sub FindVbCrLf(strSource)
   dim p
  Set objRX = New RegExp
  objRX.Global = True
  objRX.Pattern = "\n"

  Set objMatches = objRX.Matches(strSource)
 p = 0
 x = 0
  For Each Match In objMatches
    'Do stuff... exempelvis x = x + 1
      x = x + 1
      response.write x 'radnummer och andra formatteringar
'skriv text utan vbcrlf
     response.write substring(strSource,p+1,match.firstindex-p)
     p = p + match.firstindex + match.length
   response.write "" 'övriga formatteringar
  Next
End Sub
```

Ungefär så

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

## #8 — LeonL, 2003-07-08T15:25Z

Perfekt ;) Tackar...

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

## #9 — LeonL, 2003-07-08T15:29Z

Microsoft VBScript runtime error '800a000d' 

Type mismatch: 'substring' 

 :OO Hur förklarar du detta då? :)

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

## #10 — LarsG, 2003-07-08T15:41Z

Debugga

Lägg till lite testutskrifter så du ser vilka värden som variablerna får efterhand

```
Sub FindVbCrLf(strSource)
   dim p
  Set objRX = New RegExp
  objRX.Global = True
  objRX.Pattern = "\n"

  Set objMatches = objRX.execute(strSource)
 p = 0
 x = 0
  For Each Match In objMatches
    'Do stuff... exempelvis x = x + 1
      x = x + 1
      response.write x 'radnummer och andra formatteringar
'skriv text utan vbcrlf
     response.write "Debug p:"  & p
     response.write "Debug firstindex:"  & match.firstindex
     response.write "Debug length:"  & match.length
     response.write substring(strSource,p+1,match.firstindex-p)
     p = p + match.firstindex + match.length
   response.write "" 'övriga formatteringar
  Next
End Sub
```

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

## #11 — LeonL, 2003-07-08T15:52Z

Värdena jag var 0, 31 och 1

> **Dumt script skrev:**
>
> Debug p:0
> Debug firstindex:31
> Debug length:1

Ska experimentera lite :)

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

## #12 — LeonL, 2003-07-08T15:53Z

Hittar inte något om RegExp på MSDN... vet nån var det finns?

red\\ Har hittat det... behövs nite :)

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

## #13 — LeonL, 2003-07-08T17:39Z

Hur funkar Substring? Har aldrig använt det... liknar det Mid()?

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

## #14 — Engine^, 2003-07-09T13:07Z

Jag antar att **LarsG** menar Mid(), eftersom substring inte finns i VBScript.

[RegExp Object](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsobjregexp.asp)

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

## #15 — LarsG, 2003-07-09T13:13Z

Jag menar nog mid ja.

1-1

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

## #16 — LeonL, 2003-07-09T14:33Z

Tänkte väl det.. har för mig att substr finns i Jscript.. eller nåt :p

Men det är nog något fel med talen för jag får detta felmeddelande:

Microsoft VBScript runtime error '800a0005' 

Invalid procedure call or argument: 'Mid' 

/tjanster/radgenerator.asp, line 26 

Jag menar här:

```
p = p + match.firstindex + match.length
```

Behöverman verkligen p +? Jag menar... Det blir ju ett ganska stort tal om man bara adderar och adderar och till slut så blir ju p större än antalet tecken i strSource...

r\\ Har testat med att ta bort "p + "... Nu funkar det perfekt! ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/81555-stöta-på-tecken-gör-detta
