【问题标题】:In Tcl is whitespace equal to Empty string?在 Tcl 中,空格是否等于空字符串?
【发布时间】:2010-07-26 21:35:59
【问题描述】:

我正在使用 switch 语句来匹配一些可能有也可能没有与之关联的 VALUES 的选项,然后提取这些值(我想这可能什么都不是,也可能只是一堆空字符串)。

在 Tcl 中这些是等价的吗? IE。尾随空格是否会作为选项提供或解析?我应该“修剪”这个值还是没有必要?

**

【问题讨论】:

标签: switch-statement tcl


【解决方案1】:

默认情况下,不会从任何字符串的开头或结尾修剪空格。毕竟,它有时可能很重要。如果您确实想去除前导和尾随空格,请使用:

set str [string trim $str]

您可以分别使用string trimleftstring trimright 去除前导空格或尾随空格。

【讨论】:

    【解决方案2】:

    在 Tcl 中是空白等于 Empty 字符串?

    空格不等于空字符串。使用 TCL 8.5.2,表达式 expr {"" eq " "} 的计算结果为 0

    将尾随空格作为 选项还是解析出来?

    如果您按原样接受字符串并且不对它们执行任何处理,那么您将得到任何存在的空格。

    我应该“字符串修剪”值还是 这没必要?

    这个问题的答案取决于您的应用程序。如果空格不重要,请使用strim trim 命令将其修剪掉(正如 Donal Fellows 所提到的)。这样做可能会简化您的逻辑。您还可以使用regsub -all {\s+} $input_string { } 折叠字符串中所有重复的空白字符。

    【讨论】:

      猜你喜欢
      • 2016-04-19
      • 2011-03-19
      • 2017-08-19
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      相关资源
      最近更新 更多