BEDINGTE Freigabe der macOS Version Sequoia für tomedo® Alle Hinweise und Informationen finden Sie unter folgendem Link.
Hinweis: Zukünftige iOS tomedo Updates werden nur noch auf Geräten mit iOS 16 oder höher verfügbar sein.

 

Vor dem Wochenende hat folgendes x-Kommando noch reibungslos funktioniert:

$[ersetze * '' # '' zs_in x BTX 1 _ _ NN NJ2N NNNN K _]$

Behelfsmäßig verwende ich die gekürzte Form:

$[x BTX 1 _ _ NN NJ2N NNNN K _]$

Dann werden die Sonderzeichen jedoch nicht durch Leerzeichen ersetzt.

Gefragt in Bug von (37.5k Punkte)
Bearbeitet vor von
–1 Punkt

Es gibt weitere BUGs

$[ersetze " <leer> ' <leer> zs_in $[LogIN]$]$

Das ist besonders wichtig weil die Hochkommata Appleskripts stören. Deshalb müssen die eliminiert werden, bisher hat das funktioniert, jetzt aber nicht mehr. dadurch entstehen inkosnatnte Fehler.

Vielleicht kann daas irgendjeman daufklären woran dieses Verhlaten liegt. Die Punktebewertung kannn ich nicht verstehen, oder ist meine Frage verkehrt?

 

Wenn ich das Kommando teste erhalte ich folgende fehlermeldung:

Die Hochkomma-Notation geht im ersetze-Kommando nicht, Sie müssten also schreiben:
$[ersetze * <leer> # <leer> zs_in x BTX 1 _ _ NN NJ2N NNNN K _]$
Dass im zweiten Beispiel die Datei kaputt ist, klingt tatsächlich nach bug. Was genau gibt denn $[logIN]$ bei Ihnen aus?

Vielen Dank Herr Bürger,

Mit Ihrem Vorschlag

$[ersetze * <leer> # <leer> zs_in x KERN© 1 _ _ NN NNJN NNNN _ K _]$

erhalte ich exakt die gleiche Fehlermeldung wie oben.

Mit meiner version passiert dagegen gar nichts. Vor dem Wochenende haben beide Kommandos fehlerfrei funktioniert.
Das zweite Beispiel soll in einem zusammengesetzten Textfeld die übernommen Hochkommata aus dem variablefeld LogIN bereinigen und durch eine Leerzeichen ersetzen, weil diese den Ablauf von Appleskripts stören.
Vielleicht haben sie ja eine Idee woran dieser plötzlich neu aufgetretene Fehler liegt und können den ausmerzen.

Hallo Herr Bürger,

vielen Dank für Ihre persönliche Nachricht! Sie müssen nicht weiter nach Bugs suchen. Dennoch habe ich ein Problem, für das Sie vielleicht eine Lösung haben.

Herzlichen Dank auch für Ihren Tipp zum Anhang-Button in der Arztbriefschreibung – den hatte ich tatsächlich noch nicht entdeckt. Dadurch ist man wesentlich flexibler als mit dem x-Kommando, mit dem man entweder pauschal alle Dokumente eines bestimmten Zeitraums übernehmen oder vor der Brieferstellung die gewünschten Dokumente händisch aus der Akte auswählen muss. Solche praktischen Tipps sind sehr wertvoll, weshalb ich das auch noch einmal im Forum unter meinem Beitrag poste.

Allerdings stehe ich noch vor einem ungelösten Problem, bei dem ich nicht weiterkomme.

Problem 1 ist gelöst: Text aus einer CKE-Variablen bereinigen

Mein Ziel ist es, Sonderzeichen aus einer Variablen eines CKE zu entfernen, um den bereinigten Text anschließend in einem anderen zusammengesetzten Textfeld weiterzuverwenden.

Lösung, die funktioniert:
Die folgende Variante entfernt Sonderzeichen zuverlässig:

$[ersetze * <leer> # <leer> zs_in $[v1]$]$
Varianten, die nicht funktionieren:
Folgende Alternativen führen nicht zum gewünschten Ergebnis, obwohl sie in anderen Fällen erfolgreich sind:

Variante 2:  $[ersetze '*' <leer> '#' <leer> zs_in $[v1]$]$  
Variante 3:  $[ersetze '*' " '#' " zs_in $[v1]$]$
Bemerkung: Variante 2 mit Hochkommata funktioniert bei einem anderen Anwendungsfall, nicht jedoch bei meinem aktuellen Problem.

Problem 2: Sonderzeichen aus eingescannte Texte entfernen

Ich möchte eingescannte Texte von sämtlichen Sonderzeichen bereinigen, da bestimmte Zeichen – insbesondere Hochkommata – Skripte in Tomedo stören, weil sie dort als Kommando gewertet werden.

Funktionierende Lösung für Hochkommata:
Der folgende Befehl entfernt störende Hochkommata zuverlässig aus den Karteieinträgen:

$[ersetze " <leer> ' <leer> zs_in x (ABR/PDF;DOK;MAIL) 1 sel _ NN NNJN NNNN _ K _]$

obiger Vorschlag $[ersetze * <leer> # <leer> zs_in x KERN 1 _ _ NN NNJN NNNN _ K _]$ funktioniert in einem ähnlichen Anwendungsfall komischerweise nicht.

Das Kommando funktioniert nur innerhalb eines CKE (s.Variante1)

 

Problem mit anderen Sonderzeichen:
Einige importierte Dokumente enthalten jedoch weitere Sonderzeichen oder Zeichenfolgen, die meine Skripte beeinträchtigen. Daher habe ich versucht, Regex-Kommandos zu verwenden, aber sie liefern nicht das gewünschte Ergebnis.

Der folgende Regex-Befehl funktioniert nicht, da er nur isolierte Buchstaben wie W oder D zurückgibt, anstatt den gesamten Text korrekt zu bereinigen:

$[regex \s*([a-zA-Z0-9\s]+) x DOK 1 sel NN NNJN NNNN K]$
Auch verschiedene Abwandlungen wie

$[regex [^a-zA-Z0-9]+ <leer> x DOK 1 sel _ NN NNJN NNNN _ K _]$

führen zu fehlerhaften Ergebnissen.

$[regex ([a-zA-Z0-9\s]+) x DOK 1 sel _ NN NNJN NNNN _ K _]$
liefert ein Ergebnis, bereinigt aber nicht wie gewünscht die Sonderzeichen.

Obwohl der Text nach Eingabe im Prüffeld editiert wird, funktioniert die Ausgabe nicht in einem zusammengesetzten Textfeld, dort wird nichts angezeigt.

Ich bin unsicher, warum das Regex-Kommando nicht wie erwartet greift. Haben jemand vielleicht eine Lösung für dieses Problem?

Zusammenfassung:
Problem 1: Bereinigung einer Variablen → Eine Variante funktioniert, aber alternative Ansätze schlagen fehl.
Problem 2: Entfernung von Sonderzeichen aus importierten Dokumenten → Hochkommata lassen sich zuverlässig entfernen, aber andere Sonderzeichen bleiben bestehen.

Frage: Wie kann ich ein Regex-Kommando so anpassen, dass es alle Sonderzeichen zuverlässig entfernt und nicht nur isolierte Buchstaben als Ergebnis ausgibt und in einem zusammengestzten Textfeld zuverlässig editiert wird?

Ich würde mich sehr über eine Lösung oder einen alternativen Ansatz freuen! 

Vielen Dank im Voraus für Unterstützung.

1 Antwort

Beste Antwort

Moin Christian,

da bin ich mir jetzt nicht ganz sicher, ob ich Dein Problem komplett verstanden habe, wenn es aber darum geht, per regex nicht nur den ersten sondern alle Treffer auszugeben, gibt es für den tomedo-regex seit einiger Zeit die Möglichkeit, die Anzahl der Treffer zu definieren. Standard ist einer, mit -anzahlTreffer kann man das aber festlegen, bis -inf für alle.

Im Info-Text der Kommando-Beschreibung findest Du die Erklärung:

Optionen:

-anzahlTreffer <Anzahl> - Um mehrere Treffer auszugeben, standardmäßig wird nur der erste ausgegeben. 'inf' um alle Treffer auszugeben

-trennsequenz <Trennsequenz> - um die Treffer getrennt durch <Trennsequenz> auszugeben, Standard ist ', '

Beantwortet vor von (8.5k Punkte)
ausgewählt vor von
+1 Punkt
Hallo Hans Jörg,

Es handelt sich um lange Textdokumente, die unerwünschte Zeichen enthalten, die ich entfernen möchte. Entweder wird gar nichts ausgeworfen oder alles allerdings ohne Bereinigung.

Hattest Du es mit dem Parameter -anzahlTreffer mal versucht?

$[regex \s*([a-zA-Z0-9\s]+) x DOK 1 sel NN NNJN NNNN K -anzahlTreffer inf]$

Nein das habe ich nicht.

Wie bist Du denn auf so etwas gekommen? 

Wo hast Du das gefunden?

$[regex \s*([a-zA-Z0-9\s]+) x DOK 1 sel NN NNJN NNNN K -anzahlTreffer inf]$

Das ist die Lösung!

Diese x-Kommandos mit regex kombiniert sind der absolute Wahnsinn. 3-D Schach wenn es an den richtigen Stellen einsetzt  kann man wirklich alles damit machen.

 

18,863 Beiträge
27,187 Antworten
48,877 Kommentare
30,361 Nutzer