Impressum
GoTo:
Home
 
Médecins Sans Frontičres | Ärzte ohne Grenzen Akazien Verlag   
 
Lesezeichen [ Jobs # QR-Code # Haikus ]Do 21 Nov 2024 11:06:37


 huecker.com # Grundlagen der Programmierung | Tcl Tutorial.
--

 

. String comparisons - compare match first last wordend .

[ Previous | Index | Next ]

There are 6 string subcommands that do pattern and string matching.

string compare string1 string2
Compares string1 to string2 and returns
  • -1 ..... If string1 is less than string2
  • 0 ........ If string1 is equal to string2
  • 1 ........ If string1 is greater than string2
These comparisons are done lexicographically, not numerically.
string first string1 string2
Returns the index of the character in string1 that starts the first match to string2, or -1 if there is no match to string2 in string1
string last string1 string2
Returns the index of the character in string1 that starts the last match to string2, or -1 if there is no match to string2 in string1
string wordend string index
Returns the index of the character just after the last one in the word which contains the index'th character of string. A word is any contiguous set of letters, numbers or underscore characters, or a single other character.
string wordstart string index
Returns the index of the character just before the first one in the word which contains the index'th character of string. A word is any contiguous set of letters, numbers or underscore characters, or a single other character.
string match pattern string
Returns 1 if the pattern matches string. Pattern is a glob style pattern.

Globbing is the wildcarding technique that the shell uses.

globbing wildcards are:

*
Matches any quantity of any character
?
Matches one occurrence of any character
\X
The backslash escapes a special character in globbing just the way it does in Tcl substitutions. Using the backslash lets you use glob to match a * or ?.
[...]
Matches one occurrence of any character within the brackets. A range of characters can be matched by using a range between the brackets. For example, [a-z] will match any lower case letter.

--

. Example .

   set fullpath "/usr/home/clif/TCL_STUFF/TclTutor/Lsn.17"
   set relativepath "CVS/Entries"
   set directorypath "/usr/bin/"

   set paths [list $fullpath $relativepath $directorypath]

   foreach path $paths  {
    set first [string first "/" $path]
    set last [string last "/" $path]

    # Report whether path is absolute or relative

    if {$first != 0} {
     puts "$path is a relative path"
    } else {
     puts "$path is an absolute path"
    }

    # If "/" is not the last character in $path, report the last word.
    # Else, remove the last "/", and find the next to last "/", and
    # report the last word.

    incr last
    if {$last != [string length $path]} {
     set name [string range $path $last end]
     puts "The file referenced in $path is $name"
    } else {
     incr last -2;
     set tmp [string range $path 0 $last]
     set last [string last "/" $tmp]
     incr last;
     set name [string range $tmp $last end]
     puts "The final directory in $path is $name"
    }

    # CVS is a directory created by the CVS source code control system.

    if {[string match "*CVS*" $path]} {
     puts "$path is part of the source code control tree"
    }

    # Compare to "a" to determine whether the first char is upper or lower case

    set comparison [string  compare $name "a"]

    if {$comparison >= 0} {
     puts "$name starts with a lowercase letter\n"
    } else {
     puts "$name starts with an uppercase letter\n"
    }
   }
  

--
[ Home | Top ]
[ . Previous | Index | Next . ]
Der Inhalt dieser Seite wurde am 31.08.2024 um 13.36 Uhr aktualisiert.
Navigation Seminare Magic Software Projekte Publikationen Kontakt Home
 
   huecker dot com * Germany | Datenschutz
© 1999, 2024 Franz-Josef Hücker. All Rights Reserved.
Contact Print Page LinkedIn follow me on twitter RSS Feeds & Podcasts