Tcl中使用ASCII码解决需要空格符的场景

来源:互联网 发布:番茄闹钟软件 编辑:程序博客网 时间:2024/05/22 15:06

在使用Tcl开发测试脚本的时候,遇到了一种情况就是需要一个字符串包含空格。

例如:

$  set var1 "abc def"

$  set var2 "$var1 we are test chars."

这个时候的var2的值是: {{abc def} we are test chars.}

由于在脚本中需要用到split:

$ set var3 [split $var2]


这个时候var2会被以空格符为间隔符 split,这样的结果会破坏var1的结构,这样var3 的结果中不会有var1的结构,如果想在var3 中保留var1的结构:{abc def} we are test chars.

使用ASCII码和subst可以解决这个问题:

$ set var1 {abc\x20def}   ;#这个地方必须使用大括号,否则ASCII码会被提前替换

$ set var2 "$var1 we are test chars."

$ set var3 [subst  [split $var2]]

{abc def} we are test chars.


这就是想要的结果。


0 0
原创粉丝点击