Forum: PC-Programmierung tcl Script String Operationen


von kenny (Gast)


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 User
von Dussel (Gast)


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.

von Egon D. (Gast)


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\"
1
 
2
set new_output_path [file dirname $output_path]

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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

von Egon D. (Gast)


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.

von kenny (Gast)


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.

von 50c (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.