我是 TCL 的新手,需要一个 TCL 方法/实用程序/代码,它可以从字符串中的第一次出现中查找和删除字符串中的所有字符(包括其自身)。
我有一个如下字符串:
Func::set()->method();
在上面的字符串中,我需要找到第一次出现的 '(' 并将其全部删除,然后才能得到结果字符串:
Func::set
我是 TCL 的新手,需要一个 TCL 方法/实用程序/代码,它可以从字符串中的第一次出现中查找和删除字符串中的所有字符(包括其自身)。
我有一个如下字符串:
Func::set()->method();
在上面的字符串中,我需要找到第一次出现的 '(' 并将其全部删除,然后才能得到结果字符串:
Func::set
您可以使用正则表达式来做到这一点:
set the_string [regsub {\(.*} $the_string ""]
或者如果您不熟悉正则表达式,那么您可以使用更传统的方式:
set the_string [
string range $the_string 0 [
expr {[string first "(" $the_string]-1}
]
]
有关更多信息,请阅读 [ string ]、[ regsub ] 和 [ re_syntax ]的手册页。
另一种技术是使用split
and lindex
:
set the_string [lindex [split $the_string "("] 0]
这是简短而简单的,但如果你的字符串很长,可能会做很多额外的工作。