Tcl 在操作数字符串中使用方括号时出现字符串匹配问题
这看起来和预期的一样:Tcl 在操作数字符串中使用方括号时出现字符串匹配问题,tcl,Tcl,这看起来和预期的一样: set a 1 puts [string match $a $a] >> 1 然而,我发现这出乎意料: set a 1 puts [string match $a $a] >> 1 set b {[1]} puts [string match $b $b] >> 0 您能帮助解释上述行为吗?模式[1]是一个括号表达式,与括号内的字符相匹配。在这种情况下,唯一与模式匹配的字符串是1 % set b {[1]} [1] % puts
set a 1
puts [string match $a $a]
>> 1
然而,我发现这出乎意料:
set a 1
puts [string match $a $a]
>> 1
set b {[1]}
puts [string match $b $b]
>> 0
您能帮助解释上述行为吗?模式
[1]
是一个括号表达式,与括号内的字符相匹配。在这种情况下,唯一与模式匹配的字符串是1
% set b {[1]}
[1]
% puts [string match $b $b]
0
% puts [string match $b "1"]
1
%
如果要比较两个字符串是否相同,请改用stringequal…
如果您在unix shell环境中,
man n string
或man 3tcl string
应打开一个手动页面,其中包含有关string
命令的详细信息。模式[1]
是一个括号表达式,与括号内的字符相匹配。在这种情况下,唯一与模式匹配的字符串是1
% set b {[1]}
[1]
% puts [string match $b $b]
0
% puts [string match $b "1"]
1
%
如果要比较两个字符串是否相同,请改用stringequal…
如果您在unix shell环境中,man n string
或man 3tcl string
应打开一个手册页,其中包含有关string
命令的详细信息。文档太多。文档太多。