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
searching a string for .co.nz tcl/tk

Posted by Duey (Duey), 27 February 2003
Hi
I want to search a string to see if it has .co.nz in it how would i do this?

Posted by admin (Graham Ellis), 27 February 2003
I would use a regular expression match - the following line looks in an array element for the string you want:
    if {[regexp {\.co\.nz} $form(haystack)]} {

I've put this up for you to try at:
http://www.wellho.net/cgi-bin/demo/isitnz.tcl

Full code of example:
Code:
#!/usr/bin/tcl

set params [split $env(QUERY_STRING) &]
foreach par $params {
   set pair [split $par =]
   set name [lindex $pair 0]
   set value [lindex $pair 1]
   regsub -all \\\+ $value " " value
   regsub -all -nocase {%([0-9a-f][0-9a-f])} $value \
   {[format %c 0x\1]} value
   set form($name) [subst $value]
}
puts {content-type: text/html

<html>
<head><title>This is a Tcl script demo</title></head>
<body bgcolo = white><h1>Tcl Script running through CGI</h1>
<form>Please enter a string in which to look for .co.nz
<input name=haystack><input type=submit></form><br>
}

if {[info exists form(haystack)]}  {
       if {[regexp {\.co\.nz} $form(haystack)]} {
               puts "$form(haystack) contains .co.nz"
       } else {
               puts "Nothing from New Zealand found in $form(haystack)"
       }
} else {
       puts "Your answer will appear here"
}

puts {
<hr>
Example written by <a href=mailto:graham@wellho.net>Graham Ellis </a>
</body></html>
}




Posted by Duey (Duey), 28 February 2003
thanks man



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