mikrocontroller.net

Forum: PC-Programmierung tcl Script String Operationen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: kenny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

vor ca zwei Wochen kam ich mit tcl Skripten in Berührung.
Ein bereits existierendes Skript konnten ich erfolgreich erweitern.
- tcl Skript zum steuern von diversen Lasten/Messgeräten incl GUI.

An einer Stelle hänge ich leider schon ne weile :(
Ich würde gerne aus folgendem String den Filenamen löschen.
von $output_path "C:\Users\xxxxxx\Desktop\Test\Neues Textdokument.txt"
nach $output_path "C:\Users\xxxxxx\Desktop\Test\"

Gibt es hier was einfacheres, als vom Ende an jedes Zeichen was nicht 
"\" ist zu löschen?

LG

: Verschoben durch Moderator
Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin nicht mehr sicher, ob ich das in Tcl benutzt habe, aber such mal 
nach Split oder sowas. Vielleicht war es ja da.

Autor: Egon D. (egon_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kenny schrieb:

> Ich würde gerne aus folgendem String den Filenamen löschen.
> von $output_path "C:\Users\xxxxxx\Desktop\Test\Neues Textdokument.txt"
> nach $output_path "C:\Users\xxxxxx\Desktop\Test\"
 
set new_output_path [file dirname $output_path] 

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine, das könnte mit regsub gehen. Alles was nach dem letzen Slash 
(inklusive) kommt, durch "NIX" ersetzen.

Autor: Egon D. (egon_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dussel schrieb:

> Ich bin nicht mehr sicher, ob ich das in Tcl
> benutzt habe, aber such mal nach Split oder sowas.
> Vielleicht war es ja da.

"split" gibt es; das geht auch.

"file dirname" wird intern auch nix anderes machen
als den Pfad an den Trennern in eine Liste von
Komponenten zu zerlegen, das letzte Listenelement
wegzulassen und den Rest wieder zusammenzusetzen.

Autor: kenny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Egon D. schrieb:
> kenny schrieb:
>
>> Ich würde gerne aus folgendem String den Filenamen löschen.
>> von $output_path "C:\Users\xxxxxx\Desktop\Test\Neues Textdokument.txt"
>> nach $output_path "C:\Users\xxxxxx\Desktop\Test\"
>
> set new_output_path [file dirname $output_path]

Vielen Dank für Euren Input.
 set new_output_path [file dirname $output_path] passt perfekt.

Autor: 50c (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.