Как перебрать все столбцы и строки, присоединить к строке и создать пару ключ-значение

Метод 1 будет работать, если вы сделали это правильно. lsearch возвращает один результат по умолчанию, а критерии поиска принимают шаблон шара. Использование . будет искать только элемент, равный .. Затем вам понадобится цикл для lreplace:

set idx [lsearch -all $list1 "*.*"]
foreach id [lsort -decreasing $idx] {
    set list1 [lreplace $list1 $id $id]
}

Сортировка в порядке убывания важна, потому что индекс элементов будет меняться при удалении элементов (также обратите внимание, что вы использовали неправильное имя переменной в ваших фрагментах кода.


Метод 2 также будет работать, если вы использовали правильное регулярное выражение:

set b [regsub -all -line {.*\..*} $list1 ""]

Но в этом случае вы, вероятно, захотите обрезать результаты. .* будет соответствовать любым символам, кроме новой строки.


Я бы использовал, например, lsearch , что позволяет избежать необходимости замены:

set mylist [lsearch -all -inline -not $list1 "*.*"]

]

0
задан rohit rocckz 19 January 2019 в 01:36
поделиться