首页 > 解决方案 > 如何用 tcl 脚本替换字符串中的特殊字符?

问题描述

在文件.txt

obj = "hi/this/is[1]/script"

将字符串转换为

obj = "hi/this/is\[1]/script"

有没有办法在 tcl 中做到这一点?

标签: tcl

解决方案


如果要替换所有出现的字符,string map非常合适:

# Careful with the quoting here
set obj [string map [list {[} {\[}] $obj]

如果您只想替换第一次出现,regsub是一个更好的工具

set obj [regsub {\[} $obj {\\&}]

&成为匹配的字符串,我们需要注意 RE 和替换文本中的反斜杠。)


推荐阅读