ich möchte nur eine von mir angegebene Zeichenreihenfolge ersetzen, also nur das ersetzen was ich als String eingebe, sobald ein Wort mehr als meine angegebenen Zeichen enthält soll es ignoriert werden.
Ich versuche mein Vorhaben durch ein Beispiel zu verdeutlichen:
ich habe die Wörter "Its" und "It". Das Wort "It" kommt also auch in "Its" vor.
Nun möchte ich "It" durch "it" (also kleingeschrieben) ersetzen. Dabei wird "Its" natürlich auch geändert, da meine angegebene Zeichenreihenfolge genauso auch in "Its" vorkommt. Ich möchte aber nur "It" ändern wenn das Wort alleine steht.
Bisher habe ich mit Leerzeichen gearbeitet, in dem Fall könnte ich also versuchen "It " (also mit Leerzeichen) durch "it " zu ersetzen, dann wird "Its" natürlich auch nicht geändert, weil darin kein Leerzeichen enthalten ist.
Diese Lösung ist allerdings ganz schlecht wenn das Wort "It" ganz am Ende des Titels steht z.B., da dann auf "It" auch kein Leerzeichen mehr folgt, sonder ein "." für den Beginn der Dateierweiterung, diese habe ich aber in einer extra Spalte anzeigen lassen, kann damit also nicht viel anfangen.
Die Option "Nur als Wort ersetzen" scheint nicht zu funktionieren, obwohl sie auf den ersten Blick vielversprechend klingt. Gehe stark davon aus, dass es eine Lösung gibt, allerdings habe ich diese in der Hilfe nicht finden können.
Du müsstest unterscheiden zwischen Ersetzen und "Ersetzen mit regulärem Ausdruck" - für die "nur Wort Ersetzerei" genügt das nackte Ersetzen. Und bei mir geht das mit "nur Wort", um wirklich nur die eingegebene Zeichenfolge zu ersetzen.
Ja, fände ich auch - aber ich kann das Verhalten nicht nachstellen. Selbst wenn ich eine meiner Dateien mit deinen Daten fülle, und "nur Wort" auswähle, funktioniert es genau so, wie du meinst, dass es idealerweise sein sollte ... ich müsste dir über die Schulter gucken. Sorry, kann nicht weiter helfen.
Kein Thema, nett, dass du dir überhaupt die Zeit genommen hast, danke!
Ich habs noch einmal ausprobiert und anscheinend liegt es am Komma, dass nur das zweite "in" geändert wird. Sobald ich "Get In , Fit In" schreibe, also mit Leerzeichen vor dem Komma, ist das Ergebnis richtig, also "Get In , Fit In".
Immerhin weiß ich jetzt woran es liegt, allerdings ist das keine wirkliche Lösung.
Ich poste Screens von meiner genauen Vorgehensweise, vielleicht kommt einer so doch noch auf einer Idee...
In der Aktion "Ersetzen" sind Anfang und Ende der Zeichenkette und das Leerzeichen anerkannte Begrenzer. So wie es aussieht zählt das Komma nicht zu den Zeichen, die ein Wort begrenzen.
Wie du schon herausgefunden hast, lässt sich das Problem dadurch lösen, dass man ein "Komma" durch die Zeichensequenz "Leerzeichen Komma" ersetzt, dann das Ersetzen von "In" nach "in" durchführt, und anschließend die Zeichensequenz "Leerzeichen Komma" ersetzt durch ein "Komma".
Das sind drei Aktionen, die in einer Aktionengruppe zusammengefasst werden können.
Alternative:
Aktion: Tag-Feld formatieren
Feld: TITLE
Formatstring: $regexp(%TITLE%,'\bIn\b','in')
Alternative:
Aktion: Ersetzen mit regulärem Ausdruck
Feld: TITLE
Regulärer Ausdruck: \bIn\b
Treffer ersetzen durch: in
Groß-/Kleinschreibung berücksichtigen: ja
Achtung:
Das Wort "In" am Anfang der Zeichenkette wird damit auch nach "in" verändert.
Vielen Dank für deine Antwort!
Die Idee hatte ich auch, das Problem ist nur, dass das Wort "in" ein Beispiel war und ähnliche Fälle oft vorkommen können, es gibt neben dem Komma auch viele andere Möglichkeiten, wie z.B. ein Minus und damit funktioniert das auch nicht.
Wenn es tatsächlich keine "einfachere" Lösung gibt, wäre das möglicherweise ein Vorschlag wert für die nächste Version.