Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems
String functions in TCL

Posted by shafa.fahad (shafa.fahad), 31 August 2006

I am relatively new to TCL...

I have been trying to extract a particular string from a variable which has multiple strings. couldn't find the appropriate functions for it...

I have a variable var, i.e.,

set var "this is the string which i have"

Q: i want to check if the variable var has "which" in it, if so it should reutrn 1 else -1 (or even 0) ?

it would be helpful if i can get some ideas for the same

Posted by admin (Graham Ellis), 31 August 2006
set posn [string first which $var]

Will set posn to -i if "which" isn't in $var, or the position it starts at if it IS in there.  In Tcl, everything's a command, so do your test in square brackets.

If you write
if {[string first which $var] > -1} {
you can perform a test / select a piece of code based on whether or not "which" occurs in your string.

Posted by shafa.fahad (shafa.fahad), 31 August 2006
Thanks Graham,

That was really helpful...

Also I would like to know how to retrieve the string following the string which is found?


set var "/usr/bin/ksh utils/mailMover"
if {[string first "/mailMover " $var] > -1} {
puts "Here it should print"

Please let me the appropriate function for the same....

Thanks in advance

Posted by admin (Graham Ellis), 31 August 2006
In Tcl, everything's a command  

use the string first command to find the "break point", then the string range command to extract the part you want.   The code would read something like:

set lastpart [string range $var [string index " " $var] end]

Posted by shafa.fahad (shafa.fahad), 31 August 2006
Thanks Graham....  

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2018: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • FAX: 01225 793803 • EMAIL: • WEB: • SKYPE: wellho