0

我对 TCL 不太熟练,因此请求帮助以提供所需的机制来实现以下输出:

假设我有一个字符串,其值为“他提供食物(现成冰淇淋);”

我希望这个主字符串中的子字符串为“现成的冰淇淋);

进一步是否可以进一步剥离主字符串以获得子字符串作为“现成的冰淇淋

这是我的尝试,但它不起作用:

string trim $str "("
4

2 回答 2

0

这是正则表达式是正确使用的情况:

if {[regexp {\(([^()]*)\)} $str -> substring]} {
    puts "found $substring in parentheses"
} else {
    puts "did not find anything suitable"
}
于 2012-11-23T14:12:12.483 回答
0

从左侧修剪:

 set ix [string first ( $s]
 if {$ix >= 0} {
     incr ix
     set s [string range $s $ix end]
 }
 # else the string does not contain '('

从右侧修剪:

 set ix [string last ) $s]
 if {$ix >= 0} {
     incr ix -1
     set s [string range $s 0 $ix]
 }
 # else the string does not contain ')'

有关更多信息,请参阅手册

于 2012-11-23T16:10:37.663 回答