subst命令-单片机原理及应用(张毅刚)
4.6 subst命令 subst命令在字符串中搜索方括号、美元符号和反斜杠,并对其进行替换操作,而对其他数 据不做处理。字符串内部的花括号对这种替换操作不阻止。 例 4-7 subst命令的简单例子 % subst { a=$a sum=[expr 1 + 2]} => a=foo bar sum=3 % subst { a={$a} sum={[expr 1 + 2]}} => a={foo bar} sum={3} ;#数据内部的花括号不阻止替换 4.7 string 命令 字符串是 Tcl中的基本数据类型,所以有大量的字符串操作命令。一个比较重要的问题就是 模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较、搜索等 操作。本节的 string命令提供了一些简单的模式匹配机制。而正则表达式则提供了更为复杂、 更为强大的模式匹配机制。关于正则表达式见正则表达式一章介绍。 4.7.1 string 命令列表 下表给出了各种 string命令语法格式和说明。 表 4-5 string 命令 命 令 说 明 string bytelength str 返回用于存储字符串的字节数。 string compare ?-nocase? ?- length len? str1 str2 根据词典顺序比较字符串。-nocase选项表示大小写无关。-length选 项表示只比较指定长度的开头部分字符。如果字符串相同就返回 0(str1=str2),如果 str1的顺序比 str2靠前就返回-1(str1<str2),其他 情况返回 1(str1>str2)。 string equal ?-nocase? str1 str2 比较字符串,相同返回 1,否则返回 0。 string first str1 str2 返回在 str2中 str1第一次出现的索引位置,如果没有找到则返回-1 string index str index 返回指定位置的字符。index号从 0开始。如果 index为 end则返回 最后一个字符。 string is class ?-strict? ?- failindex varname? str 判断字符串的类型,如果是指定类型就返回 1。字符类型例如有整型、 布尔型等等。如果使用了-strict则表示不匹配空字符,否则总是匹配 的。如果指定了 failindex则将 string中非 class的字符索引赋给 varname变量。详细的字符类见后面的介绍(表 4-7)。 string last str1 str2 返回 str2在 str1最后一次出现的位置索引。没有搜索到就返回-1。 string length str 返回 str中的字符个数 string map ?-nocase? charMap str 返回根据 charMap中输入、输出列表将 str中的字符进行映射后而产