【发布时间】:2015-08-09 09:22:18
【问题描述】:
为什么我不能删除井号注释行?
#!/usr/bin/tclsh
set lines [list file1.bmp { # file2.bmp} file3.bmp ]
# Now we apply the substitution to get a subst-string that
# will perform the computational parts of the conversion.
set out [regsub -all -line {^\s*#.*$} $lines {}]
puts $out
输出:
file1.bmp { # file2.bmp} file3.bmp
-更新-
预期输出:
file1.bmp {} file3.bmp
{} 表示空字符串。
事实上,这是我的第一步。我的最终目标是消除所有注释行和所有空行。上述问题仅将所有注释行更改为空行。例如,如果输入是:
set lines [list file1.bmp { # file2.bmp} {} file3.bmp ]
我希望我的最终结果是
file1.bmp file3.bmp
注意:Stackoverflow 错误地将井号 (#) 符号前后的所有内容变暗,认为这些是 cmets。然而在 TCL 语法中,它不应该是 cmets。
@滕斯白: 我还想删除空行,因此我匹配“#”之前的任意数量的空格。 (因为在删除所有后续的“#”之后,它是一个空行)。事实上,在我的数据中,评论本身总是显示为整行。然而,'#' 符号可能不会出现在第一个字符处 => 空格可以引导注释行。
【问题讨论】:
-
你期待什么输出?
标签: tcl