У меня есть строка как NYMEX UTBPI
. Здесь я хочу получить индекс белого пространства в середине NYMEX и UTBPI, а затем из этого индекса в последний индекс хочу вырезать подстроку. В этом случае моя подстрока будет UTBPI
Я использую нижеКак вырезать подстроку из строки в tcl
set part1 [substr $line [string index $line " "] [string index $line end-1]]
Я получаю ниже ошибки.
wrong # args: should be "string index string charIndex"
while executing
"string index $line "
("foreach" body line 2)
invoked from within
"foreach line $pollerName {
set part1 [substr $line [string index $line ] [string index $line end-1]]
puts $part1
puts $line
}"
(file "Config.tcl" line 9)
Можете ли вы дать мне представление о том, как я могу выполнить и другие manupulation строки. Любая хорошая ссылка для этого.
Проблема в том, что '' '', очевидно, не является допустимым символьным индексом. Предположительно, вы хотели использовать 'string first' (который для поиска), а не' string index' (который предназначен для извлечения). – kostix
Я также задаюсь вопросом, что там должен делать 'substr'? Вы хотите уточнить свои намерения? – kostix
Я бы использовал 'split' или (более вероятно)' regexp' для этого вида разбора ... –