2013-07-29 3 views
0

У меня есть строка в Tcl так:как получить некоторую часть строки в TCL

set hello 0x09 

как получить последнюю часть $hello, как 09 от него?

+1

Что есть вы пытались далеко? Мы не делаем здесь чужую домашнюю работу, но мы рады помочь с конкретными проблемами, поэтому [что вы пробовали] (http://whathaveyoutried.com)? Пожалуйста, будьте более конкретными и описательными. – kostix

+0

Ну, это строка '0x09' или' set hello 0x09'? Если это '0x09', это целое число (сделайте то, что вы хотите с ним). Если это более поздняя оценка в безопасном переводе. –

ответ

1

Самый простой ответ на ваш вопрос будет:

set result [lindex [split $hello "x"] 1] 

В зависимости от вашей проблемы, это решение не может быть лучшим. Что вы пытаетесь сделать?

0

Вы можете оценить строку в подчиненном интерпретатора, и рассчитывать на то, что команда set возвращает его значение:

set cmd {set hello 0x09} 
set i [interp create -safe] 
set value [interp eval $i $cmd] 
puts $value 
0x09 

Это также защищает Вас от set hello [exec echo malicious command here]

Смежные вопросы