In newer TCL (8.5+) you can import mathop to get the typical operators as functions so that you do no longer need "expr".
Example:
% string index abc 1
b
% string index abc 1+1
c
% string index abc 1+1+1
bad index "1+1+1": must be integer?[+-]integer? or end?[+-]integer?
% string index abc end-1
b
[1] http://www.tcl.tk/man/tcl8.6/TclCmd/string.htm#M54