Tcl 字符串
Tcl 的原始数据类型是字符串,通常我们可以将 Tcl 视为仅支持字符串的语言。这些字符串可以包含字母数字字符、仅数字、布尔值,甚至二进制数据。Tcl 使用 16 位 Unicode 字符,字母数字字符可以包含拉丁字符外的字母、数字或标点符号。
布尔值可以用 1、yes 或者 true 表示 true,用 0、no 或者 false 表示 false。
字符串表示
与其他语言不同,Tcl 中当字符串只有一个单词时,不需要加双引号。一个示例可以是−
当上述代码被执行时,会产生以下结果−
当我们想表示多个字符串时,可以使用双引号或花括号。如下所示-
当执行上述代码时,会产生以下结果:
字符串转义序列
字符字面量可以是普通字符(例如,’x’),转义序列(例如,’\t’),或者通用字符(例如,’\u02C0’)。
在Tcl中,当某些字符在前面加上反斜杠时,它们将具有特殊含义,并用于表示换行符(\n)或制表符(\t)等。这里列举了一些常见的转义序列代码:
Escape sequence | Meaning
—|—
\\ | \ character
\’ | ‘ character
\” | ” character
\? | ? character
\a | Alert or bell
\b | Backspace
\f | Form feed
\n | Newline
\r | Carriage return
\t | Horizontal tab
\v | Vertical tab
以下是显示一些转义序列字符的示例:
当以上代码被编译并执行时,将产生以下结果−
字符串命令
字符串命令的子命令列表如下表所示:
序号 | 方法与描述 |
---|---|
1 | compare string1 string2 按字典顺序比较string1和string2。如果相等返回0,如果string1在string2之前返回-1,否则返回1。 |
2 | first string1 string2 返回string2中string1第一次出现的索引。如果没有找到,返回-1。 |
3 | index string index 返回索引处的字符。 |
4 | last string1 string2 返回string2中string1最后一次出现的索引。如果没有找到,返回-1。 |
5 | length string 返回字符串的长度。 |
6 | match pattern string 如果字符串与pattern匹配,则返回1。 |
7 | range string index1 index2 返回字符串中从index1到index2的字符。 |
8 | tolower string 返回小写字符串。 |
9 | toupper string 返回大写字符串。 |
10 | trim string ?trimcharacters? 去掉string两端的trimcharacters。默认的trimcharacters是空白字符。 |
11 | trimleft string ?trimcharacters? 去掉string左开始的trimcharacters。默认的trimcharacters是空白字符。 |
12 | trimright string ?trimcharacters? 去掉string右结束的trimcharacters。默认的trimcharacters是空白字符。 |
13 | wordend findstring index 返回包含索引位置的字符的单词后面的字符在findstring中的索引。 |
14 | wordstart findstring index 返回包含索引位置的字符的单词中的第一个字符在findstring中的索引。 |
下面是一些常用的Tcl字符串子命令的示例。
字符串比较
当以上代码被编译和执行时,会产生以下结果 −
索引字符串
当上面的代码被编译和执行时,它产生以下结果 –
字符串长度
当上述代码被编译和执行时,产生以下结果 –
处理案件
当上面的代码被编译和执行时,将产生以下结果−
修整字符
当上述代码被编译并执行时,它产生以下结果−
匹配字符串
当上述代码被编译和执行时,它产生以下结果 −
追加命令
当以上代码被编译和执行时,会产生以下结果−
格式命令
下表显示了Tcl中可用的格式说明符列表-
指示符 | 用途 |
---|---|
%s | 字符串表示 |
%d | 整数表示 |
%f | 浮点数表示 |
%e | 浮点数表示(使用尾数-指数形式) |
%x | 十六进制表示 |
下面给出了一些简单的示例:
当上述代码被编译和执行时,将产生以下结果−
扫描命令
扫描命令用于根据格式说明符解析字符串。以下是一些示例。
当上述代码被编译和执行时,它产生以下结果 −