按选项卡拆分的Tcl(\t)
我正在尝试按制表符(\t)拆分Tcl字符串按选项卡拆分的Tcl(\t),tcl,Tcl,我正在尝试按制表符(\t)拆分Tcl字符串 请考虑以下采样字符串< /代码>: I . am -> a . programmer # let "." be spaces and "->" be tabs 如果我尝试执行以下操作: set myVar [split $sampleString "\t"] Tcl也将按空格分割,而不仅仅是标签 如何仅按选项卡拆分 谢谢我怀疑您只是对正在查看的输出有点困惑 % set s "I am\ta programmer" I am a p
请考虑以下<代码>采样字符串< /代码>:
I . am -> a . programmer # let "." be spaces and "->" be tabs
如果我尝试执行以下操作:
set myVar [split $sampleString "\t"]
Tcl也将按空格分割,而不仅仅是标签
如何仅按选项卡拆分
谢谢我怀疑您只是对正在查看的输出有点困惑
% set s "I am\ta programmer"
I am a programmer
% split $s
I am a programmer
% split $s "\t"
{I am} {a programmer}
两个
split
s之间的唯一区别在于,没有可选的第二个参数,split集是“all whitespace”(对于“all”的合理定义),由于这里没有显式的写回,所以拆分都不会影响变量中的值。我怀疑您只是对正在查看的输出有点困惑
% set s "I am\ta programmer"
I am a programmer
% split $s
I am a programmer
% split $s "\t"
{I am} {a programmer}
两个
split
s之间的唯一区别是,如果没有可选的第二个参数,split集是“all whitespace”(对于“all”的合理定义),并且split
都不会影响变量中的值,因为这里没有显式的写回。这是一些wierd行为……我自己刚刚测试过它,这对我来说很好。你把问题简化了吗?如果是这样,您可能希望发布更多原始问题,因为问题在别处…%set sampleString{I am->a programmer}
输出I am->a programmer
。然后,%set myVar[split$sampleString“\t”]
输出{I}{am->a}{programmer}
。或许,您可以发布您的代码片段,以便其他人可以提供帮助。我试了一下你的建议,发现绳子被正确地分开了。这是一些古怪的行为…我自己测试了一下,它对我来说很好。你把问题简化了吗?如果是这样,您可能希望发布更多原始问题,因为问题在别处…%set sampleString{I am->a programmer}
输出I am->a programmer
。然后,%set myVar[split$sampleString“\t”]
输出{I}{am->a}{programmer}
。或许,您可以发布您的代码片段,以便其他人可以提供帮助。我试了一下你的建议,发现绳子被正确地分开了。