首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在匹配后从列表中提取元素?

如何在匹配后从列表中提取元素?
EN

Stack Overflow用户
提问于 2020-05-19 19:07:35
回答 1查看 35关注 0票数 1

我有一个变量和列表,如下所示。

代码语言:javascript
运行
复制
set check a7
代码语言:javascript
运行
复制
set element_list "a1 a2 a3 a4 a5 a6 a7 a8 a9 a10"

我想要一个列表,其中包含a7之后的所有元素:

代码语言:javascript
运行
复制
a8 a9 a10

我该怎么做呢?对"element_list“进行排序。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-05-19 19:21:07

您没有指定如果"check“元素不在列表中应该发生什么。因为您指出列表已排序,所以我假设您仍然需要搜索到的元素之后的元素。

代码语言:javascript
运行
复制
set check a7
set element_list "a1 a2 a3 a4 a5 a6 a7 a8 a9 a10"
set last [lsearch -bisect -dictionary -exact $element_list $check]
puts [lreplace $element_list 0 $last]

lsearch的二等分选项将返回元素小于或等于模式的最后一个索引。然后,可以使用lreplace删除该索引之前的所有内容。即使"check“在第一个元素之前,它也能正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61889555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档