我是TCL的新手,需要一个TCL方法/实用程序/代码,可以在字符串中首次出现的字符串中查找并删除所有字符(包括其自身)。
我有一个如下字符串:
Func::set()->method();
在上面的字符串中,我需要找到第一次出现'('并删除所有字符串,然后删除它,以便结果字符串只是:
Func::set
答案 0 :(得分:3)
您可以使用正则表达式执行此操作:
set the_string [regsub {\(.*} $the_string ""]
或者如果您不熟悉regexp,那么您可以采用更传统的方式:
set the_string [
string range $the_string 0 [
expr {[string first "(" $the_string]-1}
]
]
答案 1 :(得分:1)
另一种技巧是使用split
和lindex
:
set the_string [lindex [split $the_string "("] 0]
这很简单,但如果你的字符串非常长,可能会做很多额外的工作。