Tcl字符串操作命令
取字符
string index 和 string range 命令都是用于从一个字符串中取字符操作,只是参数不同而已,下面介绍这两个命令的具体用法。
string index
用法:
string index "string" charIndex
“string” 是一个字符串,charIndex 是被取字符的索引值,如果索引值大于字符串的长度,则返回空字符。
e.g.
string index "abcdef ee ab" 3
string index "abcdef ee ab" 6
string index "abcdef ee ab" 13
返回结果如下图所示,
string range
用法:
string range "string" charIndex1 charIndex2
string range 命令有两个索引值,该命令返回的是一个字符串中索引值1到索引值2之间的所有字符。
e.g.
string range "abcdef ee ab" 0 5
string range "abcdef ee ab" 1 7
返回结果如下图所示,
字符串运算
字符串的运算操作命令包括长度计算、大小写转换、裁剪、重复、比较、置换等,下面简单介绍这几个命令。
测量长度
string length "string"
该命令返回字符串 “string” 的长度。
大小写转换
string toupper "string"
string tolower "string"
string toupper 命令是将字符串 “string” 中的所有小写字母转换成大写字母;
string tolower 命令是将字符串 “string” 中的所有大写字母转换成小写字母。
e.g.
string toupper "ABCedfg"
string tolower "ABCdefg"
执行结果如下图所示,
裁剪
裁剪命令应用最多的场景就是移除一个字符串中过多的空白符或者其他字符。
string trim
用法:
string trim "string" chars
该命令将字符串 “string” 中开头和结尾出现的所有 chars 字符删除,返回新的字符串,chars 的默认值为空白符。
e.g.
string trim "abcdersasdacb" abcds
string trim "abcdersasdacb" abcd
string trim " abcdersasdacb "
命令执行结果如下图所示,
string trimleft 和 string trimright
这两个命令的用法和string trim命令的用法相同,裁剪的位置不同,trimleft 是只在开头裁剪,而 trimright 只在结尾裁剪。
e.g.
string trimleft "abcdersasdacb" abcds
string trimright "abcdersasdacb" abcd
string trimright " abcdersasdacb "
命令执行结果如下图所示,
重复
string repeat 命令用于将一个字符串重复指定次数,返回重复之后的字符串。
用法:
string repeat "string" count
count 的值也就是字符串“string”重复的次数。
字符串比较
string compare 和 string equal 两个命令都是用于字符串比较,compare 命令属于非严格比较,而equal命令属于严格比较。
用法:
string compare "string1" "string2"
string equal "string1" "string2"
使用compare命令时,如果string1和string2完全相同,则返回0,若string1在字典中先于string2,则返回-1,若string1在字典中后于string2,则返回1。
使用equal命令时,如果string1和string2完全相同,则返回1,否则返回0。
字符串的比较区分大小写,也可以指定-nocase选项,可不区分大小写。
e.g.
string compare "ABCDS" "ABCDF"
string compare "ABCDS" "ABCDS"
string compare "ABCDF" "ABCDS"
string equal "ABCDF" "ABCDS"
string equal "ABCDF" "ABCDf"
string equal "ABCDF" "ABCDF"
string equal -nocase "ABCDF" "ABCDf"
返回结果如下图所示,
字符串置换
使用string replace命令进行简单的字符串置换,使用string map命令根据字典吧字符串中相应文本置换为值。