如何在tcl中检查变量是否为空

时间:2014-12-12 22:27:20

标签: tcl

如果变量为空,你怎么看?它可以包含"\n"或空格。 我目前正在做这个

if {{string trimleft $var} != ""} {
   # the variable is not empty
   puts $var
 }

然而印刷的变量似乎仍然是空的?将trimleft删除"\n"? 有没有更好的方法来检查字符串是否为空?

3 个答案:

答案 0 :(得分:7)

据我所知,检查字符串是否为空只是通过以下方式完成:

if {$myString eq ""} {

    puts "string is empty"

}

运行以下内容不应该打印任何内容:

if {" " eq ""} {
    puts "1"
} elseif {"\n" eq ""} {
    puts "2"
}

我希望我能正确理解你的问题

答案 1 :(得分:2)

if {{string trimleft "\n"} eq ""} {
    puts "1"
} elseif {"\n" eq ""} {
    puts "2"
}
  • 以上脚本将输出为空。
  • 我认为trimleft无法从值中删除\n

答案 2 :(得分:2)

回答原始问题时需要检查空行,这是更正后的代码示例:

if {[string trim $var] != ""} {
    puts $var
}

没有指定?字符?修剪将删除空白字符,这些字符被视为空格,制表符,换行符和回车符。