首页 > 代码库 > Tcl学习之--字符串

Tcl学习之--字符串

字符串操作

Tcl的精髓在于对字符串的处理,非常多函数非常实用。特别是正則表達式。以下列出其经常使用的函数.

sting index:  --> 索引

技术分享

sting range:  --> 范围

技术分享

sting length: --> 长度

技术分享

sting toupperstring tolower: --> 大写和小写

技术分享

sting trim、 trimleft, trimright:   --> 剪裁

三种剪裁方式。每种方式都须要两个參数:指定字符串,指定裁剪方式. trim: 把在开头和结尾出现要剪裁的字符删去,返回删除后的结果:

技术分享

string repeat: --> 反复

技术分享

sting first和 string last: --> 搜索

两个都是简单搜索,找到后返回索引值,假设找不到。则返回-1;

技术分享

sting compare和string equal: -->比較

stingcompare: 读入两个參数,并对其进行比較。

1)  假设两个字符串同样,返回0

2)  假设第一个字符串在字典中小于第二个,则返回-1

3)  假设第一个字符串在字典中顺序大于第二个,返回1

技术分享

stringequal: 对两个字符串进行简单的字符串比較。严格相同,返回1, 否则返回0,该命令相同区分大写和小写,除非加-nocase选项。还能够设置-length选项,仅仅对指定长度个字符比較.

技术分享

sting replace和string map: --> 置换

stringreplace: 简单替换

技术分享

stringmap: 依据字典将字符串中的对应文本置换为某个值。语法:

stringmap dictionary string

技术分享

sting is: --> 类型推断

1)  假设为指定的类型,返回1

2)  假设非指定的类型,返回0

技术分享

format: --> 字符串格式化

和C中的非常printf非常相像,作用却没那么大.经常使用以下几种方式:

%s: 字符串

%f: 浮点型 

%d: 整数型

%x: 十六进制

技术分享

scan: --> 字符串解析

format的逆操作,就好比列表中join, split一样。

它从一个有格式的字符串控制下解析这个字符串,把这些变成字符串相相应的字段,置于Tcl变量中.

技术分享

上面2代表成功完毕两次转换.

string match: --> 模式匹配

Tcl有两种模式匹配方式。一种简单,一种复杂。

简单: 通配符模式

复杂: 正則表達式

stringmatch就是一种通配符匹配模式,成功返回1,否则返回0

stringmatch ?-nocase? pattern string

技术分享

技术分享 

正則表達式: --> 复杂模式匹配

regexp: -->获取

一般使用方法:获取两个參数。正則表達式模式和输入字符串,返回0,1

技术分享

经常使用使用方法:输入字符串后存放很多其它变量,用于放置匹配到的字符串

技术分享

regsub: --> 替换

第一个參数: 正則表達式模式

第二个參数: 输入字符串,返回0,1

第三个參数: 替换字符串

第四个參数: 替换后的字符串

技术分享

经常使用选项:

-all: 找到全部匹配的选项,返回匹配到的次数

-nocase:不区分大写和小写

-line:多行匹配开关

--:明白标识命令选项结束

-start:指定字符中一个字符的索引

 技术分享

注意: \代表特殊含义的字符,\2代表匹配到的第二个子组baa, b,

所以{z\2}真正的意思就是用z->a,假设匹配到baa,b则不做处理。


Tcl学习之--字符串