openlang

извлечение числовых частей из строки с буквами и цифрами

Я новичок в Tcl. Есть строка "entry_rows_chunk2022vol34i9mn.txt", и я хочу вывести только её числа в виде "2022 34 9" Как это сделать?

Заранее спасибо

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Попробуйте примерно так... Идея в том, чтобы с помощью regsub command заменить все нечисловые символы пробелами:

    set inputLine "entry_rows_chunk2022vol34i9mn.txt"
    regsub -all -nocase {[._a-z]} $inputLine { } digitsText
    lassign $digitsText firstNum nextNum lastNum
    puts "result = $firstNum $nextNum $lastNum"
    # result = 2022 34 9

    С regexp command это, вероятно, было бы проще, но этот способ я пока не разобрал.

    Документация: regsub (https://www.tcl.tk/man/tcl/TclCmd/regsub.html), lassign (https://www.tcl.tk/man/tcl/TclCmd/lassign.html) и regexp (https://www.tcl.tk/man/tcl/TclCmd/regexp.html) (если захотите попробовать)

    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Как экранировать проценты при вызове String.Format?

    В файле strings.xml у меня хранится SQL-запрос, и я пытаюсь построить итоговую строку в коде через String.Format. Запрос SELE…

    Ответы 3Последняя активность java
  2. Форматирование строк в F#

    Впервые делаю библиотеку на F# При использовании string.Format получаю сообщение, что такой функции не существует. Я что-то д…

    Ответы 2Последняя активность fsharp
  3. Извлечение одной части строки в tcl

    В tcl я пытаюсь разделить Reports/Report#2.rpt и оставить только Report#2.rpt ; попробовал такой способ, но при выполнении он…

    Ответы 2Последняя активность tcl