2833_de-DE
Suchen Sie nach „Skript ersetzen“.Ich habe eine Spalte, die eine Zeichenfolge enthält. Ich möchte die Spalte nach einem Teilstring durchsuchen und ihn löschen. Ich könnte dies über das Dialogfeld „Suchen/Ersetzen“ tun, aber ich möchte es in einem Skript tun. Ich habe versucht: Munger(:STATE, 1, "RX_", ""); Was ich erwartet habe: Jedes Vorkommen von „RX_xxxxx“ in „xxxxx“ ändern, aber es passiert nichts. Was mache ich falsch?Betreff: Ersetzungsskript findenVersuchen Sie, munger() mit der Funktion foreachrow() zu kombinieren, um alle Zeilen zu durchlaufen.
Betreff: Ersetzungsskript findenWenn die SUBSTITUTE-Funktion mit einer Zeichenfolge verwendet wird, ersetzt sie alle Vorkommen einer Teilzeichenfolge innerhalb einer Zeichenfolge. Mir war nicht klar, dass es bei Verwendung mit einer Liste nur mit genauen Übereinstimmungen der zu ersetzenden Zeichenfolge funktioniert.
z = "aaabbbccc";
b = replacement(z, „a“, „x“);
Ergebnisse in:
„xxxbbbccc“
Sie könnten also die Methode „für jede Zeile“ verwenden oder eine Schleife über alle Zeilen durchführen und die Funktion SUBSTITUTE verwenden.Betreff: Ersetzungsskript findenIch finde die SUBSTITUTE-Funktion viel einfacher als MUNGER.
Es gibt vielleicht einen „einzeiligen“ Weg, aber ich mache Folgendes:
Betreff: Suchen-Ersetzen-SkriptP.M.roz, danke.
MS, gibt es eine Funktion, mit der das letzte Vorkommen gefunden werden kann (also von rechts nach links statt von links nach rechts gesucht werden kann), oder muss ich die Zeichenfolge durchlaufen, um das letzte Vorkommen zu finden und den Offset entsprechend ändern?Betreff: Suchen-Ersetzen-SkriptEs gibt eine „Reverse“-Funktion (z. B. reverse(„abc“) --> „cba“), die hilfreich sein könnte. Sie würden nach dem umgekehrten Text suchen, der zuerst im umgekehrten Spaltenwert vorkommt, ihn durch den umgekehrten Ersatztext ersetzen und dann die resultierende Zeichenfolge umkehren. Ich weiß nicht, wie das im Vergleich zur Iteration der Vorwärtssuche geschwindigkeitsmäßig abschneidet.