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 等。

时间: 2024-09-28 19:32:23

TCL语言笔记:TCL中的String命令的相关文章

Tcl语言笔记之二

1,表达式 1.1 操作数 TCL表达式的操作数通常是整数或实数.整数一般是十进制的, 但如果整数的第一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则这个整数被看作是十六进制的. 1.2运算符  TCL语法形式和用法跟ANSI C中很相似 1.3 函数 TCL中支持的数学函数如下 abs( x) Absolute value of x. acos( x) Arc cosine of x, in the range 0 to p. asin( x) Arc si

TCL语言笔记:TCL中的列表操作

一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命令字符串. 二.TCL列表相关命令 命令 说明 list arg1 arg2 ... 创建一个列表 lindex list  index 返回列表 list 中的第 index 个元素(element)值 llength list 计算列表 list 元素个数 lrange list index1

TCL语言笔记:TCL练习二

一.练习 1.二进制转十进制 proc b2d {b} { set sum 0;set len [string length $b] for {set i 0} {$i<$len} {incr i} { incr sum [expr int([string index $b $i]*pow(2,$len-$i-1))] } return $sum } 2.十进制转二进制 proc d2b {d} { set b "" while {$d!=0} { set b "[ex

TCL语言笔记:TCL练习

一.关于随机数的练习 1.随机生成一个最大值到最小值之间的整数 proc random {min max} { return [expr round(($max-$min)*rand()+$min)] } 2.生成num个min到max之间的不重复的随机整数 proc randomUnique {min max num} { array set arr {} #如果要求生成的数量超过max和min相减的个数+1 if {$num>[expr $max-$min+1]} { return "

TCL语言笔记:TCL过程控制练习

1.青蛙爬井 for {set day 1;set cur 7} {$cur<77} {incr cur 2 ;incr day } { } puts $day 2.求1加到100 proc getsum {min {max 100}} { set sum 0 for {set i $min} {$i<=$max} {incr i} { incr sum $i } return $sum } puts [getsum 1 ] 3.返回任意多个整数的平均值 proc getavg {args}

R语言笔记 R中设置图形参数--函数par()详解

R有着非常强大的绘图功能,我们可以利用简单的几行代码绘制出各种图形来,但是有时候默认的图形设置没法满足我们的需要,甚至会碰到各种各样的小问题:如坐标轴或者标题出界了,或者图例说明的大小或者位置遮挡住了图形,甚至有时候默认的颜色也不能满足我们的需求.如何进行调整呢?这就用到了"强大"的函数par().我们可以通过设定函数par()的各个参数来调整我们的图形,这篇博文就是对函数par()的各个参数进行一下总结. 函数par()的使用格式如下: par(..., no.readonly =

[每天一个知识点]18-Java语言-在switch中接受String类型

在Java7中增加了一个新特性,switch可以接受String类型的变量,这就省下了书写大量if ("xxx".equals(yyy))的繁复工作.示例代码就免了,仅仅是一个数据类型的改变而已,如果会用原来的switch而在5分钟内搞不定String类型的switch,建议还是放弃做程序员吧-- 至于内部实现,java一点都没增加新内容,其实代码是被转换成了这个样子 switch (xxx.hashCode()) { case 1024: // 假设原来是"aaa"

Oracle数据类型,DDL、DML、DCL、TCL语言,SQL操作符,SQL函数

SQL查询与SQL函数 本章目标 了解Oracle数据类型  了解数据定义语言和数据操纵语言  了解事务控制语言和数据控制语言  掌握SQL操作符和SQL函数  SQL(structured query language)--结构化查询语言   通过SQL可以实现与Oracle服务器的通信   SQL是数据库语言,Oracle使用该语言存储和检索信息       表是主要的数据库对象,用于存储数据 用户  --------------------发送SQL语句查询----------------

让你提前认识软件开发(23):如何在C语言中执行shell命令?

第1部分 重新认识C语言 如何在C语言中执行shell命令? [文章摘要] Linux操作系统具备开源等诸多优秀特性,因此在许多通信类软件(主流开发语言为C语言)中,开发平台都迁移到了Linux上,同时shell操作在Linux的编程中占有很重要的地位,这就需要开发人员熟练掌握在C语言中执行shell命令的相关操作. 本文用实际的代码演示了如何在C语言程序中执行shell命令,为相关软件开发工作的开展提供了参考. [关键词] Linux  C语言  shell  命令  开发 一.程序执行流程