检查字符串 A 是否与 Tcl 中的字符串 B 完全匹配

Ama*_*oor 1 tcl

我在 Tcl 中有两个字符串。

set A "A-1 Precision Machining"
set B "Xyz & a"
Run Code Online (Sandbox Code Playgroud)

现在我想检查我的两个不同的输出是否完全匹配。

如果$A = $B与否。

我如何在 Tcl 中检查这个?

最初我使用:

if { [string match $B $A] }
Run Code Online (Sandbox Code Playgroud)

Leo*_*nto 5

如果你想从字面上比较变量,你可以使用

[string equal $B $A]
Run Code Online (Sandbox Code Playgroud)

这将逐个字符比较字符串,如果$B$A相同则返回 1,否则返回 0。TCL字符串相等

如果字符串是字典序的,你可以使用

[string compare $B $A]
Run Code Online (Sandbox Code Playgroud)

这将对字符串$B$A. 返回 -1、0 或 1,具体取决于$B字典序是小于、等于还是大于$ATCL字符串比较

您也可以使用传统语句

if {$B == $A} {
    // Codes...
}
Run Code Online (Sandbox Code Playgroud)

  • 在最后一种情况下,您还可以使用 eq 运算符而不是 ==。区别在于 == 编译为一般的相等指令,而 eq 和 string equal 编译为特定的字符串相等指令。 (4认同)