Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: hampa am 19.05.05 - 09:16:38

Titel: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 19.05.05 - 09:16:38
Hallo Gemeinde

Ich versuche Zeile für Zeile aus einem Textfile mit der Funktion Replace in LS aus dem Deutschen ins Franzöische zu übersetzen. Das klappt auch soweit. Aaaaber......

Leider ist es so, dass die Replace Funktion anscheinend nicht ganze Wörter erkennt. Hier ein Beispiel.

Das Wort "der" soll durch "des" ersetzt werden. Klappt auch soweit. Jetzt steht in der selben Zeile aber noch das Wort "andere". Die Replace Funktion findet auch in diese Wort "der" und übersetzt jetzt logischerweise das Wort "andere" in "andese".

Habt ihr da eine Idee, wie ich das hinkriege. Ich bin drauf und drann eine eigene Funktion zu schreiben. Aber wenns einfacher geht, um so besser  ;D

Gruss aus der Schweiz
Hampa
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 09:21:11
wenn Du nur wortweise ersetzen willst, dann benutze doch ein führendes und ein folgendes Leerzeichen. Z.B. " der " und " des "
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 19.05.05 - 09:26:23
wenn Du nur wortweise ersetzen willst, dann benutze doch ein führendes und ein folgendes Leerzeichen. Z.B. " der " und " des "

Hallo Dirk

Das habe ich jetzt nicht ganz verstanden.

Ich benutze die Replace funktion folgendermassen

sTxtIn = Replace(Text-Zeile, ArrayDeutsch, ArrayFranz)

Und jetzt? Erklärs mir bitte, wie Du das meinst.

Danke und Gruss
Hampa   
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 09:31:41
Du musst Dein ArrayDeutsch und Dein ArrayFranz anpassen.

Beispiel:
in ArrayDeutsch steht an Stelle x "der" und im ArrayFranz steht an Stelle x "des".

Dies würde ich ersetzen durch " der " im ArrayDeutsch und " des " im ArrayFranz.

Ein Problem gibt es noch mit Satzzeichen, aber dies könnte man ähnlich in Griff bekommen.
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 19.05.05 - 09:38:10
Du musst Dein ArrayDeutsch und Dein ArrayFranz anpassen.

Beispiel:
in ArrayDeutsch steht an Stelle x "der" und im ArrayFranz steht an Stelle x "des".

Dies würde ich ersetzen durch " der " im ArrayDeutsch und " des " im ArrayFranz.

Ein Problem gibt es noch mit Satzzeichen, aber dies könnte man ähnlich in Griff bekommen.

HA!! Jetzt hab ichs geschnallt. Saugute Idee....

Das Problemchen dabei ist nur, dass das Text File so "intelligent" aufgebaut worden ist, dass die diese Spaltenüberschriften (Worte) einmal ein führendes oder folgendes "Tab-Zeichen" haben oder dann wieder ein führendes oder folgendes "Space-Zeichen". Das ginge ja noch, wenn ich das Wörterbuch füttern müsste. Es handelt sich dabei aber um eine 0815-Unser, der einfach Wörter erfassen muss. Der weiss leider nicht ob da jetzt ein Tab oder ein Space steht.

Ja, ja. Wir habens nicht leicht.  ;D ;D

Gruss und Dank
Hampa
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 09:40:40
das führende und folgende Leerzeichen würde ich auch den 0815-User nicht pflegen lassen, sondern nach der Eingabe zum String hinzufügen.
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 19.05.05 - 09:45:12
das führende und folgende Leerzeichen würde ich auch den 0815-User nicht pflegen lassen, sondern nach der Eingabe zum String hinzufügen.

Hallo Dirk

Hier ein Beispiel, wie die Zeile "daherkommt".

Intervall-<Leer><Leer><Tab>Gespräche, die<Tab>Zieldatei<Leer><Tab><Leer>CHF<Tab>......

Siehst Du das Problem? Oder bin ich einfach zu blöd?  :P

Gruss Hampa
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: umi am 19.05.05 - 09:50:16
Schon mal zuvor mit Fulltrim probiert?
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 09:52:38
Zitat
Intervall-<Leer><Leer><Tab>Gespräche, die<Tab>Zieldatei<Leer><Tab><Leer>CHF<Tab>......
Diese Zeile könnte Dein Script vorher bearbeiten und die Tabs durch Leerzeichen ersetzen. Danach noch doppelte Leerzeichen durch ein einfaches Leerzeichen ersetzen.
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 09:54:34
Fulltrim geht auch, solltest Du aber nicht auf ArrayDeutsch und ArrayFranz anwenden, da sonst Deine Zuordnung flöten geht.
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 19.05.05 - 11:55:48
Schon mal zuvor mit Fulltrim probiert?

Hallo umi
Hallo diali

Vielen Dank. Fulltrim ist auch eine Variante. Leider muss aber die bestehende "Formatierung" erhalten bleiben, da ich die französische Version wieder zurück in ein neuens Textfile schreiben muss. Also nichts ist mit "Trimmen".  :-\

Gruss Hampa
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: diali am 19.05.05 - 13:13:13
Du könntest die Tabs durch Leerzeichen Tab Leerzeichen ersetzen, dann Deine Übersetzung durchführen und danach die Leerzeichen Tab Leerzeichen durch Tab ersetzen.
Titel: Re: Frage zur Replace Funktion (LS)
Beitrag von: hampa am 20.05.05 - 10:23:00
Du könntest die Tabs durch Leerzeichen Tab Leerzeichen ersetzen, dann Deine Übersetzung durchführen und danach die Leerzeichen Tab Leerzeichen durch Tab ersetzen.

Hallo Dirk

Danke für Deine Idee. Hat wunderbar geklappt.

Gruss Hampa