【问题标题】:String comparison in TCLTCL中的字符串比较
【发布时间】:2016-03-27 06:35:52
【问题描述】:

我有一个变量 nodename = v445 和另一个变量 nodepatch=v445-sctpsv

我想比较

if { $nodename == ???????} {
 }

所以在这里我只想比较某些- 之前的部分,第二个变量可能包含多个 - 在名称中,所以我只想提取等效字符串到节点名进行比较。 在字符串操作之后,第二部分应该是这样的:

if { $nodename == "v445"} {
 proceed } else { 
}

【问题讨论】:

    标签: scripting tcl


    【解决方案1】:

    试试

    set nodename v445
    set nodepatch v445-sctpsv
    
    if {[string match $nodename* $nodepatch]} {
        proceed
    } else {
    }
    

    string match 对字符串进行全局样式匹配,在这种情况下,以 $nodename 中的值开头并包含零个或多个字符的字符串与字符串 $nodepatch 匹配。

    如果您需要确保出现破折号,请改用string match $nodename-* $nodepatch

    文档:ifsetstring

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2013-03-21
      • 1970-01-01
      相关资源
      最近更新 更多