Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在TCL中如何操作字符串?_String_Tcl - Fatal编程技术网

String 在TCL中如何操作字符串?

String 在TCL中如何操作字符串?,string,tcl,String,Tcl,我对TCL中的字符串有一个问题: HANDLE_NAME "/group1/team1/RON" proc HANDLE_NAME {playerName} { #do something here } 我们将字符串“/group1/team1/RON”传递给proc,但在HANDLE_名称中的某个地方,我们只需要最后一部分,即“RON”,如何操作输入字符串并获取输入的最后一部分(仅RON)并将其设置为变量 有人能帮忙吗 使用字符串last查找最后一个正斜杠。然后使用stringra

我对TCL中的字符串有一个问题:

HANDLE_NAME "/group1/team1/RON"

proc HANDLE_NAME {playerName} {
    #do something here
}
我们将字符串“/group1/team1/RON”传递给proc,但在HANDLE_名称中的某个地方,我们只需要最后一部分,即“RON”,如何操作输入字符串并获取输入的最后一部分(仅RON)并将其设置为变量


有人能帮忙吗

使用字符串last查找最后一个正斜杠。然后使用stringrange获取后面的文本。
proc HANDLE_NAME {playerName} {
    set lastPart [lindex [split $playerName "/"] end]
    # ...
}


要添加第三个答案,也可以使用锚定在字符串末尾的
regexp

regexp {/([^/]+)$} $playerName -> lastPart

但是,如果您使用的字符串类似于文件路径,acheong87的lindex/split解决方案肯定是更自然的方式。

要添加第四个答案,如果字符串实际上是文件路径,请使用
file

set filename [file tail $playerName]
set filename [file tail $playerName]