TCL语言笔记:TCL中的String命令
一、介绍
字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令。一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较、搜索等操作。
二、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 中的字符进行映射后而产生的新字符串。参见本节“字符串映射”部分。 |
|
string match pattern str |
如果 str 匹配 pattern 就返回 1,否则返回 0。使用的是通配风格的匹配。参见本节的“字符串的匹配”部分。 |
|
string range str index1 index2 |
返回 str 中从 index1 到 index2 之间的字符串。 |
|
string repeat str count |
返回将 str 重复 count 次的字符串。 |
|
string replace str first last ?newstr? |
将从 first 开始到 last 结束的一段字符串替换为 newstr 字符串。如果 newstr 没有,则这部分字符串内容会被删除。 |
|
string tolower str ?first? ?last? |
将指定范围的字符转化为小写格式。 |
|
string totile str ?first? ?last? |
通过将第一个字符替换为 Unicode 的标题型字符或大写形式,而其余的替换为小写形式的方法将 str 转换为开始字母大写形式。可以用参数指定操作范围。 |
|
string toupper string ?first? ?last? |
将指定范围的字符转化为大写形式。 |
|
string trim str ?chars? |
从 str 两端删除 chars 中指定的字符。chars 默认为空字符。 |
|
string trimleft str ?chars? |
从 str 开头删除 chars 中指定的字符。chars 默认为空字符。 |
|
string trimright str ?chars? |
从 str 结尾删除 chars 中指定的字符。chars 默认为空字符。 |
|
string wordend str index |
返回 str 中在索引位置 index 包含字符的单词之后的字符的索引位置。 |
|
string wordstart str index |
返回 str 中在索引位置 index 包含字符的单词中第一个字符的索引位置。 |
说明: 命令中的两个问号之间的内容是任选项,表示根据实际需要可选的内容。字符串的这些命令的使用方法比较相似。常用的字符串操作有:
- string match:字符串匹配(或者比较);
- 大小写转换:tolower 和 totopper 以及 totile;
- equal 操作;
- string compare;
- string range;
- string replace 等。
TCL语言笔记:TCL中的String命令的更多相关文章
- TCL语言笔记:TCL基础语法
一.什么是TCL Tcl 全称是 Tool command Language.它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握. Tcl 语言是一个解释性语言,所谓解释性是指不象其 ...
- Tcl语言笔记之二
1,表达式 1.1 操作数 TCL表达式的操作数通常是整数或实数.整数一般是十进制的, 但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作 ...
- TCL语言笔记:TCL中的控制结构命令
一.引言 控制结构允许程序根据不同的状态.条件和参数来选择不同的处理和执行路径,从而使代码具有更强的灵活性.健壮性和可读性. Tcl 提供了 if.if/else.if/elseif.foreach. ...
- TCL语言笔记:TCL中的数组
一.介绍 Tcl 中的数组和其他高级语言的数组有些不同:Tcl 数组元素的索引,或称键值,可以是任意的字符串,而且其本身没有所谓多维数组的概念.数组的存取速度要比列表有优势,数组在内部使用散列表来存储 ...
- TCL语言笔记:TCL中的数学函数
一.TCL数学函数列表 函数名 说明 举例 abs(arg) 取绝对值 set a –10 ; #a=-10 set a [expr abs($a)]; # a=10 acos(arg) 反余弦 s ...
- TCL语言笔记:TCL中的列表操作
一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...
- Tcl语言笔记之一
1,一个TCL脚本可以包含一个或多个命令.命令之间必须用换行符或分号隔开 2,置换 substitution %set y x+100 // ...
- TCL语言笔记:TCL练习二
一.练习 1.二进制转十进制 proc b2d {b} { ;set len [string length $b] } {$i<$len} {incr i} { incr sum [expr , ...
- TCL语言笔记:TCL练习
一.关于随机数的练习 1.随机生成一个最大值到最小值之间的整数 proc random {min max} { return [expr round(($max-$min)*rand()+$min)] ...
随机推荐
- mysql rand随机查询记录效率
一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了. 但是真正测试一下才发现这样效率非常低.一个15万余条的 ...
- Crusher Django Tutorial(5) 使用内置管理员系统
http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial5-using-admin.html 顺便学习一下FQ Crush ...
- linux下文件的复制、移动与删除
linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp 命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) ...
- ActiveMQ之Topic
与Queue不同,Topic实现的是发布/订阅模型,在下面的例子中,启动两个消费者共同监听一个Topic,然后循环给这个Topic发送多个消息. 例子: public class TopicTest ...
- SQL的自增列如何重置
第一种方法:首先去除该列自增的标识,然后再修改id的值,成功修改后,再加上自增标识:如果不修改自增标识,会报错:“无法更新标识列”. 第二种方法:删除该自增列,而后重建一个自增列.
- 为什么C/C++语言使用指针
这是参加面试时,面试官问的一道开放性题目. 问题是:为什么C/C++语言使用指针? 这个问题一问出来,直接被面试官秒杀了,面试官大神,你怎么不按套路出牌啊? 说好的malloc和new的区别呢?说好的 ...
- CPU 时间片 分时 轮转调度
时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的.如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进 ...
- 收起虚拟键盘的各种方法 -- IOS
使用虚拟键盘来输入资讯,是 iOS 的重要互动方式之一,虚拟键盘通常会自动出现在可以编辑的 UITextField 或是 UITextView 的编辑事件中,叫出键盘固然容易,但是要把它收起来,可就没 ...
- C/C++ 内联函数
内联函数具备一般函数的性质,但是不需要调用,而是在编译阶段,会用函数体替换函数名被调用的地方.可以节省调用时间(进出栈.保存上下文). 在编译层面和宏的作用相同.内联函数的展开在编译阶段,宏展开在预处 ...
- 【CocoaPods】配置CocoaPods前 - 本地安装好Ruby环境
xcode (反正就是代码编辑器) Xcode就不用说了把. homebrew (反正就是软件管理器) homebrew是一个包管理器,用于在mac上安装一些os x上没有的UNiX工具(比如wget ...