标签:tcl
【字符串操作】
Tcl的精髓在于对字符串的处理,很多函数非常有用,特别是正则表达式。下面列出其常用的函数.
l sting index: --> 索引
l sting range: --> 范围
l sting length: --> 长度
l sting toupper 和string tolower: --> 大小写
l sting trim、 trimleft, trimright: --> 剪裁
三种剪裁方式,每种方式都需要两个参数:指定字符串,指定裁剪方式. trim: 把在开头和结尾出现要剪裁的字符删去,返回删除后的结果:
l string repeat: --> 重复
l sting first和 string last: --> 搜索
两个都是简单搜索,找到后返回索引值,如果找不到,则返回-1;
l sting compare和string equal: -->比较
stingcompare: 读入两个参数,并对其进行比较。
1) 如果两个字符串相同,返回0
2) 如果第一个字符串在字典中小于第二个,则返回-1
3) 如果第一个字符串在字典中顺序大于第二个,返回1
stringequal: 对两个字符串进行简单的字符串比较,严格相同,返回1, 否则返回0,该命令同样区分大小写,除非加-nocase选项,还可以设置-length选项,只对指定长度个字符比较.
l sting replace和string map: --> 置换
stringreplace: 简单替换
stringmap: 根据字典将字符串中的相应文本置换为某个值。语法:
stringmap dictionary string
l sting is: --> 类型判断
1) 如果为指定的类型,返回1
2) 如果非指定的类型,返回0
l format: --> 字符串格式化
和C中的很printf很相像,作用却没那么大.常用下面几种方式:
%s: 字符串
%f: 浮点型
%d: 整数型
%x: 十六进制
l scan: --> 字符串解析
format的逆操作,就好比列表中join, split一样。它从一个有格式的字符串控制下解析这个字符串,把这些变成字符串相对应的字段,置于Tcl变量中.
上面2代表成功完成两次转换.
l string match: --> 模式匹配
Tcl有两种模式匹配方式。一种简单,一种复杂。
简单: 通配符模式
复杂: 正则表达式
stringmatch就是一种通配符匹配模式,成功返回1,否则返回0
stringmatch ?-nocase? pattern string
l 正则表达式: --> 复杂模式匹配
regexp: -->获取
一般用法:获取两个参数,正则表达式模式和输入字符串,返回0,1
常用用法:输入字符串后存放更多变量,用于放置匹配到的字符串
regsub: --> 替换
第一个参数: 正则表达式模式
第二个参数: 输入字符串,返回0,1
第三个参数: 替换字符串
第四个参数: 替换后的字符串
常用选项:
-all: 找到所有匹配的选项,返回匹配到的次数
-nocase:不区分大小写
-line:多行匹配开关
--:明确标识命令选项结束
-start:指定字符中一个字符的索引
注意: \代表特殊含义的字符,\2代表匹配到的第二个子组baa, b,
所以{z\2}真正的意思就是用z->a,如果匹配到baa,b则不做处理!
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:tcl
原文地址:http://blog.csdn.net/jerry_1126/article/details/46844095