Domino 9 und frühere Versionen > ND6: Entwicklung

LotusScript: Replace nur für ganze Worte...

(1/2) > >>

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