tcl/tk字符串操作【一】

取得字符: string index 和 string range

string index 语法:

string index oriString index

index 如果是 0 ,对应字符串开头,如果是 end ,对应字符串结尾

eg:

string index “Sample string” 3

=>p

string index “Sample string ” end-1

=>n

string range 语法:

string range oriString startIndex endIndex

Eg:

string range “Sample string” 3 7

=>ple s

 

长度:

string length “Sample string”

=>13

 

大小写转换:

string toupper “Watch Out!”

=>WATCH OUT!

string tolower “Watch Out!”

=>watch out!

 

裁剪:

strim 、 trimleft 、 trimright 命令,需要两个参数,一个指定要裁剪的字符串,一个指定裁剪方式。 string trim 开头和结尾都裁剪。

string trim aaxxxbab abc

=>xxx

如果没有指定要裁剪的字符,默认的就是空白(空格、制表符、换行符、以及换页符)

 

重复:

string repeat “*” 20

=>********************

string repeat “abc” 5

=>abc abc abc abc abc

 

简单搜素: string first 和 string last

语法:string first/last targetStr oriString [startIndex]

string first th “There is the tub where I bathed today”

=>9

string first th “There is the tub where I bathed today” 12

=>27

string last 用法与此类似。

字符串比较:

string compare string1 string2

如果 string1 和 string2 字典顺序相同,返回 0 ;如果 string1 的字典顺序在 string2 的前面,返回 -1 ,反之,返回 1 。

string equal string1 string2

如果 string1 和 string2 严格相等,则返回 1 ;否则,返回 0 。

可以指定 -nocase 选项指明不区分大小写。可以指定 -length 选项,指定只对前 length 个字符进行比较。

 

字符串置换: string replace 和 string map

string replace oriString startIndex endIndex ?replace string?

如果不指定 replace string ,则删除匹配的字符。

string map 基本语法:

string map dictionary string

eg :

set entities {

         & &

         ‘ '

         > >

         < &lt;

         \’ &quot;

}

strinig map $entities {if (index > 0 && nbAttts == 0)}

=>if (index &gt 0 &amp;&amp; abAtts == 0)

原文地址:https://www.cnblogs.com/kane1990/p/2293984.html