这里对string命令中的几个子命令使用实例进行一些解释,以便于更加容易理解string命令中的各个子命令,本文仅对三个比较复杂的命令进行实例解析。分别是is class、map和match三个子命令。
string is
class ?
-strict? ?
-failindex
varname?
string
如果string是指定class中的成员就返回1,否则返回0。如果指定了
-strict,空字符串就返回0,不指定则返回1。如果指定了
-failindex,那么将导致不匹配的索引储存在varname中,如果返回1则varname不会被赋值。列举了以下字符类:
判断字符串是否由字母和数字组成使用alnum:
% string is alnum "abc123"
1
1
判断字符是否是由字母组成使用alpha:
% string is alpha "abc"
1
1
任何ASCII码ascii:
% string is ascii "^%*ajb1723"
1
1
布尔变量boolean:
% string is boolean 1
1
% string is boolean true
1
1
% string is boolean true
1
在tcl8.5.1中使用这个命令,会有一点点问题,如果字符串为t、tr、tru或者f、fa、fal、fals都为真,非常奇怪的现象。
是否是控制符号control:ASCII码中从0到37都会返回1
% string is control "/34"
1
1
任何数字字符digit: