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)] ...
随机推荐
- How to disable Passwords must meet complexity requirements[windows 7]
The Password complexity is a Local Policy setting named "Passwords must meet complexity require ...
- Oracle 表的访问方式(1) ---全表扫描、通过ROWID访问表
1.Oracle访问表的方式 全表扫描.通过ROWID访问表.索引扫描 2.全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle顺序地访问表中每条记录,并检查每一条记录 ...
- Flex xxx-app.xml配置
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http:/ ...
- mysql5.7.12安装过程中遇到的一些问题
在安装mysql-5.7.12-winx64中遇到的问题总结 1.该版本的mysql解压后的文件夹里没有data文件(切记自己添加data,自己添加的文件可能出现的问题是文件里的文件会缺失) 我在使用 ...
- EF中使用Select new 方法中字段值替换的问题
前提需要替换查询得到的List当中的某个字段的值,替换规则有一个mapping关系 尝试代码 有问题 无法获取任何数据 /// <summary> /// 获取Treegrid的List ...
- Struts之ForwardAction
在Struts中,通过action跳转jsp,但是有时希望仅仅只是跳转页面,而不需要action,这时可以用ForwardAction. 定义一个仅仅是跳转的ForwardAction如下: < ...
- 0x02全局变量和局部变量
全局变量在什么地方定义? .data和.data? 格式如下: 变量名 类型 初始值1,初始值2... 变量名 类型 重复数 dup(初始值1,初始值2,...) 变量名 类型 ? 类型有哪些? 字节 ...
- vagrant在windows下的使用
vagrant在windows下的使用 下载安装 VirtualBox :https://www.virtualbox.org/ 下载安装 Vagrant :http://www.vagrantup. ...
- 面试问到的Spring
一.介绍Spring 1.主要使用了基本的javabean代替的Ejb Ejb:服务端的组件模型,设计目标应用部署分布在应用程序,把已经做好的编好的程序,打包放在服务 端执行,凭借java跨平台的优 ...
- 例题-文件系统的放大 (LVM):
纯粹假设的,我们的 /home 不够用了,你想要将 /home 放大到 7GB 可不可行啊? 答: 因为当初就担心这个问题,所以 /home 已经是 LVM 的方式来管理了.此时我们要来瞧瞧 VG 够 ...