WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Numrera rader med regexp (https://www.wn.se/forum/showthread.php?t=25967)

Ungdebatt 2008-01-06 12:00

Jag prövade med denna kod:

Kod:

.Pattern = "[\n]"
         
Set objMatches = .Execute(strNewText)
         
For Each objMatch In objMatches
 iCount = iCount + 1
 strNewText = .Replace(strNewText,"<br />"&iCount&". ")
Next

...och det fungerar att skriva en siffra på varje rad, men ett fel uppstod och det är att iCount blir aldrig mer än 1. Det verkar som om jag inte lyckas räkna ut antalet rader eller så lyckas den bara räkna till en \n.

Så resultatet blir:

--------------------------------------------------------------
1. Jag heter Jeppe och jag kan äta en apelsin på
1. fem sekunder. Jag kan även dricka fem liter mjölk
1. på mindre än en halv sekund. Vad kan du göra?
--------------------------------------------------------------

EDIT: Jag vet att om man i detta fall skriver objMatches.Count så får man antalet \n som den hittade, men jag vill ju skriva det rad för rad, dvs 1, 2, 3..osv

HenSod 2008-01-06 14:25

Jag är inte jätteduktig på VB, men jag tycker att det borde se ut såhär:
Kod:

.Pattern = "[\n]"
 
Set objMatches = .Execute(strNewText)

iCount = 0

For Each objMatch In objMatches
 iCount = iCount + 1
 strNewText = .Replace(strNewText,"<br />"&iCount&". ")
Next


Ungdebatt 2008-01-06 14:29

HenSod, det är exakt samma kod, jag har redan gett iCount ett värde (1), men det hjälper inte.

Alex 2008-01-06 14:56

Detta kanske inte är så du vill lösa det, men lägg allt i en ordered list?
(
  1. lista
)

Då får du ju radnummer :)

Ungdebatt 2008-01-06 15:03

Det är helt sjukt vilken enkel lösning det var haha =) Tack.


Alla tider är GMT +2. Klockan är nu 14:36.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson