Domino 9 und frühere Versionen > ND6: Entwicklung
LotusScript: Replace nur für ganze Worte...
Tode:
Ich bin gerade dabei eine Website zu entwickeln, wo über LotusScript und Replace bestimmte Ausdrücke durch einen Link zu einem Glossar für diesen Ausdruck ersetzt werden.
Dafür verwende ich den replace- Befehl.
Dummerweise ersetzt der auch Wortteile.
Beispiel (sehr trivial): Die Leiter steht an der Tanne.
für das wörtchen "an" existiert ein Glossar- Eintrag.
Nach meinem replace sieht das so aus:
Die Leiter steht <link>an</link> der T<link>an</link>ne
iiiihhhhh...
Mein Ansatz wäre jetzt, die "erwünschten" Ersetzungen selbst zu basteln:
aus "an" wird dann: " an " : " an." : ".an " : " an," ........
ABER: 1. Das sind sauviele mögliche Kombinationen und
2. sind meine zu ersetzenden Werte sowieso schon in einem Array: das wäre der Performance nicht unbedingt zuträglich, wenn ich hier aus einem Array mit sagen wir mal 30 Werten eines mit 600 grösstenteils redundanten Werten machen würde...
Kennt jemand nen Befehl wie den Frontend- Befehl "Suchen und Ersetzen" mit der Option " Ganze Wörter" für's Script. Backend ?
Thanx
Tode
Axel:
Hi,
hilft dir eventuell das weiter?
count& = notesRichTextRange.FindAndReplace( target$ , replacement$ , [ options& ] )
Axel
animate:
hast du die Möglichkeit, auf Java zurückzugreifen? Da sollte das ein Kinderspiel sein, da du RegEx verwenden kannst.
animate:
es ist in der Tat einfach:
The code looks like (using jregex, http://jregex.sourceforge.net)
import jregex.*;
...
String in="You seem to see what I mean";
String out=new Pattern("\\bsee\\b").replacer("know").replace(in);
System.out.println(out);
//->You seem to know what I mean
animate:
Hmm, wenn du auf LS angewiesen bist und das Script auf einem MS Rechner läuft, könnte dir evtl auch das VBScript.RegExp Objekt weiterhelfen
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln