1

是否有任何 Tcl 函数可以自动将转义字符添加到字符串?

例如,我有一个正则表达式

"[xy]"

调用该函数后,我得到

"\[xy]"

再次被调用后,我得到

"\\\[xy]"

我记得有一些脚本语言有这样的功能,但我不记得它是哪种语言。

4

1 回答 1

2

添加“必要”的转义字符的常用方法是使用list%是我的 Tcl 提示符):

% set s {[xy]}
[xy]
% set s [list $s]
{[xy]}
% set s [list $s]
{{[xy]}}

如果可以,该list命令宁愿不理会,如果可以逃脱,则用大括号括起来,否则使用反斜杠(因为反斜杠真的不可读)。

如果你真的需要反斜杠,string map或者regsub会做你需要的。例如:

set s [regsub -all {\W} $s {\\&}]
于 2012-06-21T09:37:33.453 回答