gpt4 book ai didi

string - 在 tcl 中连接两个字符串

转载 作者:行者123 更新时间:2023-12-02 09:23:54 26 4
gpt4 key购买 nike

我需要在 tcl 中连接两个字符串,然后如果有任何不需要的字符,如 '_',则修剪连接的字符串。字符串存储在 tcl 变量中,我面临的问题是我需要连接这两个字符串,如 "$str1_$str2"。基本上用 '_' 连接两个字符串。我找到了如下方法。

    set str1 "mystring1";  #string 1
set str2 "mystring2"; #string 2. This string could be Empty String as well.

set outString [append outString "_" $str2];
set outString [string trimright '_'];

这给了我 outString 的值如下:

    puts $outString;  
mystring1_mystring2 #if $str2 is not empty
mystring1 #if $str2 is empty.

我正在寻找一种更优化的方式来完成我的任务。我试图简单地加入两个字符串,如

    set outString "$str1_$str2"

但我得到的错误是“没有 $str1_ 这样的变量”,因为 '_' 下划线可以是变量名的一部分。

任何建议将不胜感激。

最佳答案

在将变量插入字符串时,可以使用花括号来保护变量名。

set str1 "mystring1";
set str2 "mystring2";
set outString "${str1}_${str2}"

(相同的语法适用于 shell 脚本、Perl 以及其他脚本语言。)

但我不会指望这会比调用 append 更“优化”。它更容易阅读,恕我直言,这是这样做的充分理由,但在您测量之前不要假设它会更快。

引用:http://www.tcl-lang.org/man/tcl8.6/TclCmd/Tcl.htm#M12

关于string - 在 tcl 中连接两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39477358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com