Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Tcl - apparently odd behaviour of string trimleft

Question:

Why does this code:

  set dir "D:/JNN/proc/"
  set tempname "D:/JNN/proc/Doc-99887767.dat"
  set cname [string trimleft $tempname $dir]
  puts $cname

report
  -99887767.dat

but this code:

  set dir "D:/JNN/proc/"
  set tempname "D:/JNN/proc/Foc-99887767.dat"
  set cname [string trimleft $tempname $dir]
  puts $cname

report
  Foc-99887767.dat

Answer

The second parameter to string trimleft (the one that's in $dir in the example) is treated as a list of individual characters to be removed. And in the first example, the "D" "o" and "c" are stripped off the beginning of the file name because they also occur in the directory name.

Suggestion

If you want to strip the leading directory information off a path and file name, you may find it better to use regsub
  set cname [regsub {.*/} $tempname ""]
the apparently spurious .* meaning we trim to the last / rather than the first.
(written 2012-01-13, updated 2012-01-14)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T205 - Tcl/Tk - String Handling in Tcl
  [404] How to check that a string contains a number in Tcl - (2005-08-06)
  [779] The fragility of pancakes - and better structures - (2006-06-26)
  [943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
  [1403] Square Bracket protection in Tcl - (2007-10-23)
  [1410] Tcl / regsub - changing a string and using interesting bits - (2007-10-27)
  [1601] Replacing the last comma with an and - (2008-04-04)
  [2472] split and join in tcl and expect - (2009-10-23)
  [3192] Tcl - Some example of HOW TO in handling data files and formats - (2011-03-04)
  [3285] Extracting data from a string / line from file - Tcl - (2011-05-10)
  [4205] Regular Expression Substitution - Tcl - (2013-11-12)
  [4454] Everything is a string - even a list - (2015-03-11)
  [4455] Working out distance between places, using OS grid references and a program in Tcl - (2015-03-11)


Back to
Multiple buttons calling the same proc in wish (tcl/tk)
Previous and next
or
Horse's mouth home
Forward to
How to do multidimensional arrays (or rather lists and hashes) in Perl
Some other Articles
Melksham Area - buses, trains, cycles, and roads. Meeting, 17.1.2012
Transport in Cambridgeshire - seen by an outside observer. What can Wiltshire learn?
A busy start to 2012
How to do multidimensional arrays (or rather lists and hashes) in Perl
Tcl - apparently odd behaviour of string trimleft
Multiple buttons calling the same proc in wish (tcl/tk)
Perl functions such as chop change their input parameters
New in Java 7 - and why we are not running public Java 7 courses
Adding Expect on top of Tcl - what is it and where can I get a training course to learn about it?
Comparing loop commands in Tcl
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3576_Tcl ... mleft.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb