1
是否有任何Tcl函數可以將轉義字符自動添加到字符串中?是否有任何Tcl函數自動添加轉義字符?
例如,我有一個正則表達式
"[xy]"
我調用該函數後,我得到
"\[xy]"
再次被調用後,我得到
"\\\[xy]"
我記得有一些腳本語言的功能,但我不記得它是哪種語言。
是否有任何Tcl函數可以將轉義字符自動添加到字符串中?是否有任何Tcl函數自動添加轉義字符?
例如,我有一個正則表達式
"[xy]"
我調用該函數後,我得到
"\[xy]"
再次被調用後,我得到
"\\\[xy]"
我記得有一些腳本語言的功能,但我不記得它是哪種語言。
添加這樣的轉義字符的通常方式是「必要的」是使用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 {\\&}]
「list」命令構造了也是「無替代」命令的列表(即,從讀取變量或運行命令中沒有意外)。 –
他們都爲我工作。第二個爲每個單詞添加'\',看起來有點奇怪。 – Yorkwar