[asp] VBScript RegExp.Replace met een functie

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
In JScript is het mogelijk om in de replace methode van het String object een functie mee te geven die gebruikt wordt voor het replacen. Dus zoiets:
code:
1
2
3
4
5
s.replace(test,
   function($0,$1,$2) { 
      return $2+$1+$0;
   }
);


Ik vroeg me af of zoiets in VBScript (versie 5.6) met het RegExp object ook te maken is? Ik lees er niets over in de documentatie, maar die docs zijn sowieso enorm wazig hier en daar.

Als het niet kan, is er dan misschien iets te maken met de GetRef of Eval functie, zodat je op z'n minst de naam van een functie kunt meegeven...

日本!🎌


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Wat volgens mij wel kan is (al is het natuurlijk wat 'lomp') het volgende:
• Voer je Regular Expression uit op de string zodat je alle genummerde elementen los hebt
• Voer je functie uit met de geextraheerde delen (de genumerde elemten) als parameters
• Voer dezelfde RE weer uit maar nu in een replace opdracht waarbij je vervangings-string uit de resultaat waarde van de functie bestaat.

Nadeel is dus dat je 2x de RE laat runnen, maar je vereist hierdoor dus geen speciale functionaliteit van je RE-Library.

|_____vakje______|


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Zoiets had ik al gemaakt zonder zo'n callback functie en dan met de Execute methode. Maar echt snel is dat natuurlijk niet. Ik hoopte eigenlijk op een oplossing die al bestaat.

Zeker als je bedenkt dat zowel JScript als VBScript dezelfde RegExp library lijken te gebruiken, zou je haast verwachten dat er iets bestaat voor wat ik wil...

日本!🎌