Modifying Strings - tolower, toupper, trim, format
These are the commands which modify a string. Note that none of these modify the string in place. In all cases a new string is returned.
string
tolower
string
- Returns
string
with all the letters converted from upper to lower case. string
toupper
string
- Returns
string
with all the letters converted from lower to upper case. string
trim
string
?trimChars?
- Returns
string
with all occurrences oftrimChars
removed from both ends. By defaulttrimChars
are whitespace (spaces, tabs, newlines). Note that the characters are not treated as a "block" of characters - in other words,string trim "davidw" dw
would return the stringavi
and notdavi
. string
trimleft
string
?trimChars?
- Returns
string
with all occurrences oftrimChars
removed from the left. By defaulttrimChars
are whitespace (spaces, tabs, newlines) string
trimright
string
?trimChars?
- Returns
string
with all occurrences oftrimChars
removed from the right. By defaulttrimChars
are whitespace (spaces, tabs, newlines) format
formatString
?arg1 arg2 ... argN?
- Returns a string formatted in the same manner as the ANSI
sprintf
procedure.FormatString
is a description of the formatting to use. The full definition of this protocol is in theformat
man page. A useful subset of the definition is thatformatString
consists of literal words, backslash sequences, and% fields
. The% fields
are strings which start with a%
and end with one of:s
... Data is a stringd
... Data is a decimal integerx
... Data is a hexadecimal integero
... Data is an octal integerf
... Data is a floating point number
%
may be followed by:-
... Left justify the data in this field+
... Right justify the data in this field
Example
set upper "THIS IS A STRING IN UPPER CASE LETTERS" set lower "this is a string in lower case letters" set trailer "This string has trailing dots ...." set leader "....This string has leading dots" set both "((this string is nested in parens )))" puts "tolower converts this: $upper" puts " to this: [string tolower $upper]\n" puts "toupper converts this: $lower" puts " to this: [string toupper $lower]\n" puts "trimright converts this: $trailer" puts " to this: [string trimright $trailer .]\n" puts "trimleft converts this: $leader" puts " to this: [string trimleft $leader .]\n" puts "trim converts this: $both" puts " to this: [string trim $both "()"]\n" set labels [format "%-20s %+10s " "Item" "Cost"] set price1 [format "%-20s %10d Cents Each" "Tomatoes" "30"] set price2 [format "%-20s %10d Cents Each" "Peppers" "20"] set price3 [format "%-20s %10d Cents Each" "Onions" "10"] set price4 [format "%-20s %10.2f per Lb." "Steak" "3.59997"] puts "\n Example of format:\n" puts "$labels" puts "$price1" puts "$price2" puts "$price3" puts "$price4"