博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tcl命令操作实验-----(3)---字符串
阅读量:5746 次
发布时间:2019-06-18

本文共 2267 字,大约阅读时间需要 7 分钟。

hot3.png

字符串操作:

string option string1 string2

其中option可以是:

compare 按字母顺序比较,小于则返回-1,等于返回0,大于返回1

match 判断是否匹配

first判断string2中string1第一次出现的位置,如果没有则返回-1

last 和first作用相反,最后一次出现的位置,如果没有则返回-1

trim 删除string1的开头和结尾的string2,中间的不会删除

string trim ____abc_def____ _abc_def_string trim ____abc_def________abc_def____string trim ____abc_def____ ____abc_defstring trim ____abc_def____ a____abc_def____string trim abcdabcd abcdabcdstring trim abcdabcda abcdabcdstring compare abc bcd-1string compare 234 1231string match 123 20string match 123 1231string first abc 123abc234abc5673string last abc 123abc234abc5679

string option string命令,其中option可以是:

tolower 返回转换成小写字母之后的新字符串

toupper大写

trimleft删除左边的所有空白字符

length 返回长度

string tolower abCdEfgabcdefgstring toupper abcdefgABCDEFGstring length abcdef6

string range命令:

string range abcdefg 2 3cdstring range abcdefg 1 3bcdstring range abcdefg 2 3cdstring range abcdefg 2 4cdestring range abcdefg 2 5cdef通过以上实验发现string range命令的第一个数字和第二个数字分别代表字符串中的起始位置和结束位置,特别是第二个数字并不是代表要截取的子字符串的长度

 append命令:字符串追加,可以无限追加

set n 123123append n a b c123abcputs $n123abc

split命令 将字符串转换成列表,格式为:split string 分隔符

puts $n123abcsplit $n a123 bcsplit abcdefg eabcd fg

Tcl中只有字符串型变量,所以用到数字进行计算时需要用到incr和expr操作命令

array name a1 15 16incr a(0) +33array name a0 1 15 16array leng abad option "leng": must be anymore, donesearch, exists, get, names, nextelement, set, size, startsearch, statistics, or unsetarray length abad option "length": must be anymore, donesearch, exists, get, names, nextelement, set, size, startsearch, statistics, or unsetarray size a4set j 123123incr j +100223puts $j223incr j224

expr命令有点类似C语言中的算术操作符(Tcl中逻辑真值是1,逻辑假值是0),有!(只要是0,执行!0之后就是1,只要是非零,执行!之后就是0),

parray aa(0)  = 0a(1)  = 0a(15) = helloa(16) = 16expr !$a(1)1expr !$a(15)invalid bareword "hello"in expression "!hello";should be "$hello" or "{hello}" or "hello(...)" or ...

注意上面的错误提示:我猜想有可能Tcl命令中能够将一个命令的执行结果当作另一个命令的变量

expr 5 * $a(16)80expr 12 >> 16expr 12 << 124expr 3>2 ? 5:65expr 3<2 ? 5:66expr 5 %21expr 5 /22expr 5 /1.24.166666666666667expr 5 % 1.2can't use floating-point value as operand of "%"expr abc(-3)invalid command name "tcl::mathfunc::abc"expr abs(-3)3expr round(1.234)1expr round(1.634)2expr sin(3.14 /2)0.9999996829318346expr cos(0)1.0

 

转载于:https://my.oschina.net/u/2963604/blog/2120584

你可能感兴趣的文章
解读:Red Hat为什么收购Ansible
查看>>
Ossim下的安全合规管理
查看>>
DelphiWebMVC框架下BPL热部署实现
查看>>
C++与MySQL的冲突
查看>>
siki学习之观察者模式笔记
查看>>
单元测试
查看>>
spring.net 继承
查看>>
ES6:模块简单解释
查看>>
JavaScript indexOf() 方法
查看>>
用Bootstrap写一份简历
查看>>
ZJU PAT 1023
查看>>
WMI远程访问问题解决方法
查看>>
从零开始学习IOS,(UILabel控件)详细使用和特殊效果
查看>>
Android开发历程_15(AppWidget的使用)
查看>>
阿花宝宝 Java 笔记 之 初识java
查看>>
7、设计模式-创建型模式-建造者模式
查看>>
我国古代的勾股定理
查看>>
Linux下的C编程实战
查看>>
[32期] html中部分代码与英语单词关系
查看>>
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>