如果变量为空,你怎么看?它可以包含"\n"
或空格。
我目前正在做这个
if {{string trimleft $var} != ""} {
# the variable is not empty
puts $var
}
然而印刷的变量似乎仍然是空的?将trimleft
删除"\n"
?
有没有更好的方法来检查字符串是否为空?
答案 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
}
没有指定?字符?修剪将删除空白字符,这些字符被视为空格,制表符,换行符和回车符。