欢迎光临散文网 会员登陆 & 注册

2022年的 Tcl/Tk 编程入门参考 9.字符串

2022-04-18 23:04 作者:象喻  | 我要投稿

Tcl语言中一切都是字符串,所以Tcl语言也有非常丰富的字符串相关命令。其中绝大多数功能都集中在string命令里,都是以预设参数的形式提供的,类似于英语词组。为与传统命令区分,下文称为"子命令"。


String 命令

常用参数

-nocase 忽略大小写


string cat 字符串合并

直接把所有参数合并成一个字符串


string compare  根据字典顺序比较字符串先后顺序


string length字符串长度



string equal 字符串比较


string index提取指定位置字符

string index 字符串 索引位置


string repeat 字符串重复


string range 字符串提取

string range string first last



字符串替换

string replace 替换和删除


string map 批量替换

string map ?-nocase? mapping string



字符串变换

string reverse 反转



string tolower 转换为小写

string tolower string ?first? ?last?


string totitle首字母大写

string totitle string ?first? ?last?



string toupper 转换为大写字母

与小写转换语法相同 string toupper string ?first? ?last?


字符串查找

string first

没找到回返回 -1 找到返回下标(即从0开始计数的位置),注意,即使设置搜索起始的位置,返回下标也是从0开始计数


string last

string last needleString haystackString ?lastIndex?

从后往前找,但是返回的位置依然是从左往又数的位置,也就是正数的位置,不是倒数的位置



字符串修剪

string trim

从字符串的前后删除多余的字符(默认为空白,即空格和Tab)


string trimleft

与 trim 相同,但只删除开头的字符

string trimright

与 trim 相同,但只删除结尾的字符


模式匹配

string match

*通配符。匹配任意数量和值的任意字符 ?匹配一个字符 [chars] 匹配 chars 中的任意一个字符

 



字符串类型验证

string is class ?-strict? ?-failindex varname? string

严重字符串是否属于某种类型,比如布尔值:



过时的子命令

string bytelength string string wordend string charIndex string wordstart string charIndex


其它字符串命令

append 追加

append的作用,是在变量值后面追加字符串。它要求一个变量名作为必要参数,后面跟多个可选参数作为追加内容 当仅仅给出变量名这一个参数,append命令会返回变量值,就跟set命令一样。但如果变量不存在,就会报错。如果给出追加参数,就会在变量值后面追加内容。这种情况下如果变量不存在,会先自动创建变量。

append  变量名  ?追加1?  ?追加2?  ?追加3?  ...



format

一部分功能类似于python的 f 字符串,把后续内容以指定格式插入到字符串中的指定位置。但是如果仅仅是插入的话,用变量替换更简单,它实际用于字符串变形。format 对字符串进行各种变形操作,用标识符来设定格式,标识符以%开头,直接看使用例子吧:

 



scan

跟format相反,scan把字符串的各个部分摘出来,分别赋值给后续变量(省略变量时可以用于检测是否与给出形式匹配)scan是从左往右匹配,开头的必须指定,右侧即后续的匹配可以省略。给出变量名时,变量名必须跟%识别符的数目匹配,scan返回匹配的数目。省略变量名时,scan返回匹配的内容,用空格间隔。

 





2022年的 Tcl/Tk 编程入门参考 9.字符串的评论 (共 条)

分享到微博请遵守国家法律