|
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:All :gelesen |
||||
erstellt am:20.10.2019 10:24:13
- #23996 in section
Antworten Antworten mit Zitat
Guten Tag, zur Übersetzung verwende ich im Moment update armit set text = STRTRAN(text,"Troncato", "get:") update armit set text = STRTRAN(text,"troncato", "get:") weil die Quelle mal groß mal klein schreibt. Gibt es da eine Möglichkei das in einer Zeile zusammenzufassen ? |
||||
Von:Thomas Geissler softart@t-online.de An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen |
||||
erstellt am:21.10.2019 09:00:50
- #23992 in section
Antworten Antworten mit Zitat
update armit set text = STRTRAN(LOWER(text),"troncato", "get:") oder update armit set text = STRTRAN(text,"troncato", "get:", -1, -1, 1 ) Gruß Thomas
|
||||
Von:Bernhard Sander dfpug@individsoft.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:21.10.2019 11:01:08
- #23993 in section
Antworten Antworten mit Zitat
Hallo Thomas,
Der erste Vorschlag hat als gemeine Nebenwirkung, dass auch nicht-betroffene Textteile knallhart in Kleinbuchstaben umgewandelt werden. Gruß Bernhard Sander |
||||
Von:Thomas Geissler softart@t-online.de An:Bernhard Sander dfpug@individsoft.de :gelesen |
||||
erstellt am:21.10.2019 11:29:01
- #23994 in section
Antworten Antworten mit Zitat
Hallo Bernhard, da hast Du natürlich recht und in diesem Fall evt. nicht gewünscht. Dann doch Variante 2. Gruß Thomas |
||||
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:21.10.2019 21:28:32
- #23998 in section
Antworten Antworten mit Zitat
Vielen Dank, kann man auch ein OR darin unterbringen : update armit set text = STRTRAN(LOWER(text),"troncato", "get:") OR update armit set text = STRTRAN(LOWER(text),"parti", "get:") Gruß |
||||
Von:Thomas Geissler softart@t-online.de An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen |
||||
erstellt am:22.10.2019 09:26:07
- #23999 in section
Antworten Antworten mit Zitat
Hallo Franz-Dietrich, wie Bernhard schon angemkert hat, solltest Du nicht LOWER() sondern die Variante mit den zus. Parametern verwenden da mit LOWER() der gesamt zu ersetzende Text kleingeschrieben gespeichert wird. Und das OR würde so nicht gehen, da der Rückgabewert von STRTRAN() nicht logisch ist. Aber Du kannst das STRTRAN() verschachteln update armit set text = STRTRAN(STRTRAN(text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1) Gruß Thomas
|
||||
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:22.10.2019 10:52:59
- #24001 in section
Antworten Antworten mit Zitat
bestens und wenn man dann noch ein NOT hat - geht das auch noch ? |
||||
Von:Thomas Geissler softart@t-online.de An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen |
||||
erstellt am:22.10.2019 12:30:07
- #24002 in section
Antworten Antworten mit Zitat
Mit den STRTRAN() wird nur das ersetzt was gewünscht ist. Ein NOT macht da erst mal nicht viel Sinn. Aber mach doch mal ein Beispiel...
|
||||
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:22.10.2019 15:50:01
- #24003 in section
Antworten Antworten mit Zitat
hier ein ganz einfaches Beispiel die Datensätze: Bazzini (LOM) (Lovere (Bergamo)). (IT) partito: al 1º di rosso; al 2º partito, di nero e di porpora col capo di porpora all'aquila d'oro coronata dello stesso (citato in SPRE – Vol. I pag. 536) (IT) rosso pieno - partito di nero e di viola - aquila coronata di oro su viola in capo (citato in LEOM) Bazzini (LOM) (Lovere (Bergamo)). (IT) Partito di rosso e ripartito di nero e di oro - aquila di nero su oro in capo (citato in LEOM) gesucht: ("partito" OR "Partito") and NOT "SPRE" |
||||
Von:Thomas Geissler softart@t-online.de An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen |
||||
erstellt am:23.10.2019 10:56:48
- #24004 in section
Antworten Antworten mit Zitat
So sollte es gehen: update text set text = IIF(AT("SPRE",Text)=0,STRTRAN(STRTRAN( Text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1),Text) Gruß Thomas
|
||||
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:23.10.2019 14:33:32
- #24006 in section
Antworten Antworten mit Zitat
wunderbar, vielen Dank **************** hoffentlich komme ich, wenn ich diesen Algorythmus fürderhin benutze nicht gemäß EUVAS für 10 Jahre in die Sibirei ! |
||||
Von:Thomas Geissler softart@t-online.de An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen |
||||
erstellt am:23.10.2019 14:52:47
- #24008 in section
Antworten Antworten mit Zitat
In meinem Beispiel muss das auszuschließende in der AT()-Funktion auch in Großbuchstaben vorhanden sein. Kleingeschrieben oder gemischte Schreibweise würde so nicht gehen. Hier müsstest Du noch mit UPPER() oder LOWER() ergänzen. Gruß Thomas |
||||
Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:23.10.2019 23:03:43
- #24008 in section
Antworten Antworten mit Zitat
Vielen Dank für den Hinweis, in meinem Beispiel ist es aber eindeutig. |
||||
Von:Bernhard Sander dfpug@individsoft.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:24.10.2019 11:56:14
- #24010 in section
Antworten Antworten mit Zitat
Hallo Thomas, hallo Franz-Dietrich,
Wenn man statt AT() ATC() benutzt wird Groß/Kleinschreibung ignoriert. Gruß Bernhard Sander |
||||
Von:Bernhard Sander dfpug@individsoft.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:24.10.2019 12:04:02
- #24011 in section
Antworten Antworten mit Zitat
Hallo,
Oder man macht die Ausschlüsse über SQL-WHERE: UPDATE armit SET text = strtran(strtran(text, ....)) WHERE text NOT LIKE "%SPRE%" Gruß Bernhard Sander |
||||
Von:Bernhard Sander dfpug@individsoft.de An:Thomas Geissler softart@t-online.de :gelesen |
||||
erstellt am:24.10.2019 12:20:06
- #24012 in section
Antworten Antworten mit Zitat
Ich merke schon wieder an Strtran kann so ohne weiteres keine Wortgrenzen berücksichtigen. Daher wird im 2. Beispiel mit StrTran(text, "partito", "get.",-1,-1,1) nicht nur das einzelne Wort "Partito" ersetzt sondern auch "ripartito" in "riget." umgewandelt. Sowas müsste man wohl ausprogrammieren. Oder wie kriegt man RegEx in Foxpro hin? Ah, so: http://fox.wikis.com/wc.dll?Wiki~RegExp Gruß Bernhard Sander |
||||
Von:Thomas Geissler softart@t-online.de An:Bernhard Sander dfpug@individsoft.de :gelesen |
||||
erstellt am:24.10.2019 18:04:10
- #24013 in section
Antworten Antworten mit Zitat
Stimmt, noch besser. Ich hatte vergessen, das es ein UPDATE SQL und kein einfaches REPLACE ist.
|
||||
Von:Thomas Geissler softart@t-online.de An:Bernhard Sander dfpug@individsoft.de :gelesen |
||||
erstellt am:24.10.2019 18:13:00
- #24014 in section
Antworten Antworten mit Zitat
Wenn man es 100% richtig machen wollte, kommt man da nicht drumherum. Gruß Thomas |