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
String functions in TCL

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

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?

say,

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

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

Thanks in advance
Fahad

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 www.opentalk.org.uk 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., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho