Rawan Ghanem
Rawan Ghanem

Reputation: 47

Getting a part of string in tcl

I'm trying to split the following string : Groups/Group#1.rpt to get only the word Group#1.rpt using tcl ; I did the following but the output was empty :

set verifyFile "Groups/Group#1.rpt" 
set verify_file_name [echo $verifyFile |cut -d "/" -f 2]

Upvotes: 1

Views: 287

Answers (2)

glenn jackman
glenn jackman

Reputation: 246744

Donal's file tail answer is perfect for removing the directories from a file path.

If you have a "CSV" string using slash as the delimiter, you can use split and lindex

set verify_file_name [lindex [split $verifyFile /] end]

Upvotes: 2

Donal Fellows
Donal Fellows

Reputation: 137557

This is a job for a specific built-in: file tail!

set verify_file_name [file tail $verifyFile]

Don't use string manipulation directly for this; there are some complex nuances on different platforms. This command handles all the tricky edge cases for you.

Upvotes: 2

Related Questions