変数が空の場合、どのように確認しますか? "\n"
またはスペースを含めることができます。私は現在これをやっています
if {{string trimleft $var} != ""} {
# the variable is not empty
puts $var
}
しかし、出力された変数はまだ空のようです? trimleft
は"\n"
を削除しますか?文字列が空かどうかを確認するためのより良いアプローチはありますか?
if {{string trimleft "\n"} eq ""} {
puts "1"
} elseif {"\n" eq ""} {
puts "2"
}
trimleft
は値から\n
を削除しないと思います。私の知る限り、文字列が空かどうかのチェックは、次の方法で簡単に実行できます。
if {$myString eq ""} {
puts "string is empty"
}
以下を実行しても何も出力されません。
if {" " eq ""} {
puts "1"
} elseif {"\n" eq ""} {
puts "2"
}
私はあなたの質問を正しく理解したと思います
空の行をチェックすることを懸念して元の質問に答えるために、修正されたコード例を次に示します。
if {[string trim $var] != ""} {
puts $var
}
?chars?を指定せずにトリムは、スペース、タブ、改行、およびキャリッジリターンと見なされる空白文字を削除します。