tcl - 如何在使用 lsearch 时转义特殊字符?
问题描述
如何在使用搜索时转义特殊字符(例如“[]”)?
考虑以下场景:
>> set L { a b c [] }
>> a b c []
>> lsearch $L b
>> 1
>> lsearch $L "[]"
>> -1
当我运行 lsearch $L "[]" 时,我希望得到 3
解决方案
在查找固定字符串而不是模式时,最简单的方法是使用 lsearch 的 -exact 选项。您还需要确保 Tcl 不对搜索字符串进行替换,例如将其括在花括号内。否则你会告诉 Tcl 寻找一个空字符串(执行一个空命令字符串的结果):
lsearch -exact $L {[]}
推荐阅读
- wpf - Webview2、SharePoint Online 和 Azure AD 身份验证
- visual-studio - 在 Visual Studio 2019 中使用 docker compose 运行简单项目时容器之间的连接被拒绝错误
- python - 在 Python Pandas 中使用用户输入创建新数据
- google-bigquery - BQ 格式为数字百分比
- c# - 在 razor 视图中找不到“Invoke”或“InvokeAsync”方法错误
- r - R 中读取和比较 CSV 文件的最快方法
- laravel - SnowFlake Query 在某些字段上返回 NULL
- api - 如何从请求结构中提取 cookie?
- python - 如何在 Django 中执行周期性任务?
- reactjs - React Native PanResponder 与动量平移偏移