求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   模型库  
会员   
 


AI 智能化软件测试方法与实践
5月23-24日 上海+在线



人工智能.机器学习TensorFlow
5月22-23日 北京



图数据库与知识图谱
5月22-23日 北京
 
 
 

Tcl 教程
Tcl环境设置
Tcl特殊变量
Tcl基本语法
Tcl命令
Tcl数据类型
Tcl变量
Tcl运算符
Tcl决策
Tcl循环
Tcl数组
Tcl字符串
Tcl列表
Tcl字典
Tcl过程
Tcl包
Tcl命名空间
Tcl文件I/O
Tcl错误处理
Tcl内置函数
Tcl正则表达式
 
 

TCL字符串
1243 次浏览
42次  

Tcl 的原始数据类型是字符串,我们常常可以在Tcl找到引用字符串的唯一语言。这些字符串可以包含字母数字字符,数字,布尔值,甚至是二进制数据。 TCL采用16位Unicode字符和字母数字字符,可以包含字母包括非拉丁字符,数字或标点符号。

布尔值,可以表示为1,yes 或 true 为真值和0,no 或 false 为假值。

字符串表示

不同于其他语言,在TCL,只有一个字时,不需要包含双引号。示例如下,

#!/usr/bin/tclsh
set myVariable hello
puts $myVariable

当上述代码被执行时,它会产生以下结果。

hello

当要表示多个字符串,我们可以使用双引号或大括号。它如下所示。

#!/usr/bin/tclsh
set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

当上述代码被执行时,它会产生以下结果。

hello world
hello world

字符串转义序列

字符文字可以是一个普通的字符(例如,'x'),转义序列(如“\t'),或通用字符(例如,'\u02C0')。

Tcl有一些字符,当他们前面加一个反斜杠他们将有特殊的含义,它们被用来表示类似的换行符(\n)或制表符(\t)。在这里,有一些转义序列代码的列表:

以下为例子来说明一些转义字符序列:

#!/usr/bin/tclsh
puts("Hello\tWorld\n\n");

让我们编译和运行上面的程序,这将产生以下结果:

Hello   World

字符串命令

子命令字符串命令列表列如下表。

一些常用的Tcl字符串子命令的例子在下面给出。

字符串比较

#!/usr/bin/tclsh
set s1 "Hello"
set s2 "World"
set s3 "World"
puts [string compare s1 s2] if {[string compare s2 s3] == 0} {
puts "String \'s1\' and \'s2\' are same.";
} if {[string compare s1 s2] == -1} {
puts "String \'s1\' comes before \'s2\'.";
} if {[string compare s2 s1] == 1} {
puts "String \'s2\' comes before \'s1\'.";
}

让我们编译和运行上面的程序,这将产生以下结果:

-1
String 's1' comes before 's2'.
String 's2' comes before 's1'.

字符串索引

#!/usr/bin/tclsh
set s1 "Hello World"
set s2 "o"
puts "First occurrence of $s2 in s1"
puts [string first $s2 $s1] puts "Character at index 0 in s1"
puts [string index $s1 0]
puts "Last occurrence of $s2 in s1" puts [string last $s2 $s1]
puts "Word end index in s1"
puts [string wordend $s1 20] puts "Word start index in s1"
puts [string wordstart $s1 20]

让我们编译和运行上面的程序,这将产生以下结果:

First occurrence of o in s1
4
Character at index 0 in s1
H
Last occurrence of o in s1
7
Word end index in s1
11
Word start index in s1
6

字符串长度

#!/usr/bin/tclsh
set s1 "Hello World"
puts "Length of string s1"
puts [string length $s1]

让我们编译和运行上面的程序,这将产生以下结果:

Length of string s1
11

处理大小写

#!/usr/bin/tclsh
set s1 "Hello World"
puts "Uppercase string of s1"
puts [string toupper $s1]
puts "Lowercase string of s1"
puts [string tolower $s1]

让我们编译和运行上面的程序,这将产生以下结果:

Uppercase string of s1
HELLO WORLD
Lowercase string of s1
hello world

修整字符

#!/usr/bin/tclsh
set s1 "Hello World"
set s2 "World"
puts "Trim right $s2 in $s1"
puts [string trimright $s1 $s2] set s2 "Hello"
puts "Trim left $s2 in $s1"
puts [string trimleft $s1 $s2] set s1 " Hello World "
set s2 " "
puts "Trim characters s1 on both sides of s2"
puts [string trim $s1 $s2]

让我们编译和运行上面的程序,这将产生以下结果:

Trim right World in Hello World
Hello
Trim left Hello in Hello World
World
Trim characters s1 on both sides of s2
Hello World

匹配字符串

#!/usr/bin/tclsh
set s1 "test@test.com" 
set s2 "*@*.com"
puts "Matching pattern s2 in s1"
puts [string match "*@*.com" $s1 ]
puts "Matching pattern tcl in s1"
puts [string match {tcl} $s1]

让我们编译和运行上面的程序,这将产生以下结果:

Matching pattern s2 in s1
1
Matching pattern tcl in s1
0

Append 命令

#!/usr/bin/tclsh
set s1 "Hello" 
append s1 " World"
puts $s1

让我们编译和运行上面的程序,这将产生以下结果:

Hello World

Format 命令

Tcl显示格式format说明如下列表。

一些简单下面的例子给出。

#!/usr/bin/tclsh
puts [format "%f" 43.5]
puts [format "%e" 43.5]
puts [format "%d %s" 4 tuts]
puts [format "%s" "Tcl Language"]
puts [format "%x" 40]

让我们编译和运行上面的程序,这将产生以下结果:

43.500000
4.350000e+01
4 tuts
Tcl Language
28

Scan命令

scan命令用于分析基于对格式说明的字符串。一些例子如下所示。

#!/usr/bin/tclsh
puts [scan "90" {%[0-9]} m]
puts [scan "abc" {%[a-z]} m]
puts [scan "abc" {%[A-Z]} m]
puts [scan "ABC" {%[A-Z]} m]

当上述代码被编译和执行时,它产生了以下结果:

1
1
0
1

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1243 次浏览
42次
 捐助