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) (如果你想试试)

    从英语翻译查看原文
  2. 固定链接

    我没有旧版本 Tcl 可以测试,不过可以试试下面的写法。

    set matches [regexp -all -inline {\d+} $entryText]
    puts [join $matches]
    从英语翻译查看原文

同一个问题的其他角度

  1. 调用 String.Format 时怎样转义百分号?

    我的 strings.xml 文件保存了一个 SQL 查询,我想在代码中用 String.Format 构造最终字符串。SELECT 查询中有一个类似下面这样的 like 子句。 为了格式化,我用 %1$s 替换 'pattern',得到下面这样。…

    回复 3最近活动 java
  2. 在 F# 中格式化字符串

    我正在第一次编写 F# 库 使用 string.Format 时,提示说这个函数不存在。 是我哪里弄错了,还是本来就不能用?

    回复 2最近活动 fsharp
  3. 提取 tcl 字符串中的一部分

    我想用 tcl 拆开 Reports/Report#2.rpt,只留下 Report#2.rpt。我试了下面的办法,但运行时没有得到任何输出。

    回复 2最近活动 tcl