string包含某个字符串_Tcl字符串操作基础2

b6228d53ca7b866a9fa884c044617b35.gif 常用的几个字符串操作命令

43498d8fb0245fea5f80319185cbdcb3.png

延伸阅读:Tcl字符串操作基础1

b6228d53ca7b866a9fa884c044617b35.gif subst

subst 命令在字符串中搜索方括号、美元符号和反斜杠,并对其进行替换操作,而对其他数据不做处理。字符串内部的花括号对这种替换操作不阻止。

例1:

24972efdd2805b87cef69201d8257c93.png

b6228d53ca7b866a9fa884c044617b35.gif string

字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令。一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较、搜索等操作。本节的 string 命令提供了一些简单的模式匹配机制。而正则表达式则提供了更为复杂、更为强大的模式匹配机制。

e2f6c177d24acc876a4a1f7f4437fc0b.png

string命令用法列表,每一种用法可以看成子命令(sub commond)

字符串的这些命令的使用方法比较相似。常用的字符串操作有:

- string match:字符串匹配(或者比较);

- 大小写转换:tolower 和 totopper 以及 totile;

- equal 操作;

- string compare;

- string range;

- string replace 等。

例1:字符串比较

07ae1ede8cfeebad225b6b2a92e93a5d.png

string compare返回0表示相同。其他数字则为不同。

0edabc404e9f1aa6458aaf334feff778.png

d5c3311abdd844c8c26d066e2b2b0c21.png

-nocse为可选项,表示忽略大小写。

5a93b76e97fbeb32e02175e7846afa5c.png

string equal返回0时表示字符串不相同,返回1表示相同。

fa303f9acdc241d9033e5c50326cda69.png

例2:字符串匹配

937de9c3bf43e319dde1b48d7c9459e0.png

匹配字符结构

为了使结果返回 1(匹配), pattern 和字符 str 必须相同,除非你是使用了匹配字符。

02b48638d827a666592268b09863bf08.png

7a932f27a5cce2814d06a8e164314b91.png

c7f3e4deaec28954ddf1781c03affaf2.png

例3:字符串替换

47a98da0c3f1ee481b058c98eb75b49d.png

例4:字符串类别测试

2e1fb4630ce131da1a8f697e77612112.png

字符串类别

string is 命令用来测试一个字符串是否属于某个特定的类( class)。它对于进行参数输入合法性检查非常有效。比如,要确保输入参数是整数,则可以这么做:

5e05fd54c21f239f732f37215095a226.png

6fe00cabb90d899296d46d086866a8e1.png

例5:字符串映射

string map 命令根据字符映射对字符串进行转换。映射以输入、输出表的形式表示。凡是字符串中包含有输入序列的地方都使用相应的输出序列替换。输入、输出要成对使用。

223d83ec3bcc5ae191c410e7b7d2697e.png

上例命令中 {f b d l}为输入、输出表,输入、输出项成对出现:f、 b 为输入, p、 l 为输出,f对应 b,而 d 对应 l。命令的结果是字符串 fill 中的 f 被 p 替换, d 被 l 替换。

260206f6e48697b6667e8cc011e23408.png

输入和输出项可不止一个字符而且不要求长度相同。

68c5c3060f47d0ba443a64f84e1f9b04.gif

26e9606e7c5514972430a3cd1278d2d5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值