A-A+

TCL中的列表搜索命令lsearch

2020年01月11日 脚本 阅读 5,663 views 次

在TCL中使用lsearch命令在列表中查找指定的元素。它获取两个参数,第一个是一个列表,第二个是一个模式。lsearch返回列表中第一个与指定模式匹配的元素的索引,如果没有匹配的元素则返回-1。例如:

lsearch {a b c d e} c

→ 2

lsearch -all {a b c a b c} c

→ 2 5

可以通过在列表参数前指定下列标志之一来设定模式匹配的方式:-exact、-glob 和-regexp,-glob指定匹配按照 string match命令的规则进行。-regexp指定匹配按照正则表达式规则, -exact则要求进行严格匹配。如果没有指定匹配方式,那么默认设置为-glob。还可以用-not选项对匹配结果取反。 默认情况下, lsearch只查找最先出现的匹配的元素,可以使用-all将所有匹配的元素组成一个列表返回。

-inline选项指定返回元素,而非元素的索引。例如,

lsearch -inline -not {a20 b35 c47} b* 

→ a20

如果要探测一个确切的字符串是否是列表中的一个元素,可以在表达式中分别使用in和ni操作符。

个人公众号“数字化设计CAX联盟”,欢迎关注,共同交流
标签:
为您推荐:

给我留言

© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: