RegExp: Erstes und letztes Zeichen löschen

TIMS_Ralf

Erfahrenes Mitglied
Hallo allseits - und danke!

hmmm... räußper... hmmm... :D:)... also nix für ungut, bin nun auch - Dank ikosaeder - drauf gekommen... vorab

Nein, beleidigt war ich nicht. Ich bin 51 Jahre jung und gehe Dinge rein pragmatisch an.
Äääääh... Ja natürlich....: Natürlich suche ich für meine Frage eine fertige Lösung! Warum sollte ich sonst fragen? Natürlich kann ich keine fertige Lösung erwarten / voraussetzen - aber wer mir keine fertige Lösung liefern kann, braucht ja nicht antworten = seine Freizeit auch nicht unentdeltlich zu investieren.
Ist ja nix "schlimmes"! Wir können die Lösung(en) auch gerne erarbeiten... aber Verweise auf allgemeine "Übersichtsseiten im Internet"... naja - das hilft nicht wirklich.
Wer die Lösung kennt oder Fragen zum Problem hat.... einfach reintippen :)

Bei anderen bisherigen Fragen / Problem(ch)en habe ich stets eine gute und fertige Antwort bekommen - deswegen bin ich ja bei Euch. Werd ie Lösung kennt, kann muß natürlich nicht! - sie auch liefern. Wie gesagt: Nichts für ungut - ich finde Euer Forum klasse und bin für Hilfen natürlich auch dankbar - nicht nur weil`s "kostenlos" ist! Wenn ich mehr Zeit hätte, würde ich auch sehr gerne "mitwirken".

Okay... hatte das Tool nicht genannt - aber wozu diese Information?
Wenn mir jemand einen regulären Ausdruck (die Lösung der Frage) liefert, schaff ich den Rest auch alleine. Meist hänge ich ja nur irgendwo fest, hab mich selbst "verheddert", festgefahren... Manchmal reicht ja auch nur ein Tritt ins Hirn - ums wieder frei zu pusten :D
Ich versuche meine Frage / Problem so kurz und treffend als möglich zu beschreiben. Kann natürlich sein, dass ich mich / jeder andere sich ein bissl blöd ausdrückt - logo

Für SpiceLab: Uuuups... ja, habs grad gemerkt, dass "Gefällt mir" = früheres "Danke" ist... Ich finde danke besser... o_O

Für Sheel: Ja genau... haddu richtig verstanden. Deine Lösungen verstehe ich, funktioniert so aber nicht im dem Tool :mad:. Allgemeingültig wäre natürlich besser und eleganter, konkret reichts mir erstmal mit "Plus".

Lösung:
Dank ikosaeder' s "fertiger Lösung" habe ich es nun hinbekommen, auch wenn ich es bei dem Tool splitten mußte:

Erstes Plus-Zeichen suchen / maskieren: ^\+ (das hatte ich zuvor eingeklammert)
Letzes Zeichen suchen / maskieren: \+{1}$ (da fehlt mir die {1} - )

Bezogen auf das Tool:
Ersetze 1. Pluszeichen mit "nix = leerer String"
Ersetze letzes Pluszeichen mit "; = Semilkolon".

Das sind zwar nun 2 Batches, statt elegantem 1 Batch-Befehl, aber so funktioniert´s. Zusammengesetzt hats nicht funktioniert. Nachdem das Problem gelöst ist ( = ich weiter komme..), versuche ich es später noch eleganter hinzubekommen.
Das Tool TextCrawler von http://www.digitalvolcano.co.uk sei jedem (Entwickler) wärmstes empfohlen - ist wohl mit Abstand der bester "Replacer" und für "kleines Geld" zu haben.


Also... nix für ungut, und DANKE Euch !
(Gefällt mir auch :))
 
Zuletzt bearbeitet:

ikosaeder

Teekannen-Agnostiker
Bezogen auf das Tool:
Ersetze 1. Pluszeichen mit "nix = leerer String"
Ersetze letzes Pluszeichen mit "; = Semilkolon".
Das hattest du vorher auch nicht erwähnt. Mit Gruppierungen () im Suchstring ist es mit Sicherheit möglich das Ganze auch in einem Rutsch zu machen.

Das Tool TextCrawler von http://www.digitalvolcano.co.uk sei jedem (Entwickler) wärmstes empfohlen - ist wohl mit Abstand der bester "Replacer" und für "kleines Geld" zu haben.
Da gehen die Meinungen weit auseinander. Zum Beispiel lässt sich dein Problem mit 2 Aufrufen von sed ebenfalls lösen:
sed -i 's/^+//g' Datei
sed -i 's/+$/;/g' Datei
Und das ging schon vor 30 Jahren.
 

sheel

I love Asm
[OT: Für ein Textersetzungsding auch noch Geld ausgeben? :eek:
In einer Zeit wo ganze Betriebssysteme kostenlos zu haben sind noch dazu?
Und nein, ich bin nicht gegen Firmen die Geld verdienen wollen,
aber manche habens wohl nicht kapiert dass User für sowas triviales Alternativen haben]
 
Zuletzt bearbeitet:

TIMS_Ralf

Erfahrenes Mitglied
Hallo,
ok, hatte vorher nicht alles angegeben; brauchte / wollte ja nur eine Lösung als "Denkanstoß", wie es grundlegend hinhaut - wenn die eigene "Blocklade" mal durchbrochen ist, dann flutscht es meistens auch wieder.

sed -i 's/^+//g' Datei - hab ich jetzt nicht verstanden - was ist "sed" ?

Ich habe kein Problem für ein Tool ein paar Euronen auszugeben, wenn es alles macht, was ich brauche, mir nen Haufen Zeit und Mühe erspart. Das soll aber jeder für sich entscheiden. Für meine Zwecke braucht es fast 500 ständig wiederkehrende Ersetzungsbefehle, tlw. zig-fach rekursiv über auch schon mal 20 Seiten Code... dafür habe ich noc kein anderes Tool gefunden.

Grüße, Ralf
 

ikosaeder

Teekannen-Agnostiker
20 Seiten Code? Mehr nicht? Das müsste mit Notepad++ doch so gehen. 500 verschiedene Befehle klingt auch komisch. Sicher das es nicht eine bessere Lösung gibt? Ich könnte mir vorstellen, dass dir auch ein Python Skript hilft. Sed ist ein Kommandozeilen Editor, der besonders einfach Textersetzungen machen kann.
 

TIMS_Ralf

Erfahrenes Mitglied
Okay... das mag ja für einzelne bzw. wenige Textersetzungen ausreichend sein, aber nicht wenn 100e WEB-Seiten einer kompletten Domain oder z.B. HTML nach Javascript / jQuery konvertieren werden soll.

Als Anlage mal ein solcher Batch-Job mit rd. 400 Batches um sämtliche HTML-Tags, Attribute etc. ... aller WEB-Seiten einer kompletten Domain nach JS zu konvertieren

Allseits ein schönes Wochenende!

...
Textcrawler.gif
 

ikosaeder

Teekannen-Agnostiker
Wenn es nur um suchen und ersetzen geht, kannst du genauso gut 400 sed Commandos in ein Skript packen und für jede Datei ausführen.
Ich würde allerdings trotzdem Python verwenden und vor allem die Such- und Replacementstrings in eine extra Datei packen. Dann kannst du mit dem gleichen Skript die Ersetzungen in beide Richtungen machen und die Liste einfach ergänzen.