【发布时间】:2021-11-15 16:47:08
【问题描述】:
我是 Tcl 的新手。我有一个特定的字符串“code_lines_part2021vol32i8mn.txt”,我只想打印格式为“2021 32 8”的数字我该怎么做?
提前致谢
【问题讨论】:
我是 Tcl 的新手。我有一个特定的字符串“code_lines_part2021vol32i8mn.txt”,我只想打印格式为“2021 32 8”的数字我该怎么做?
提前致谢
【问题讨论】:
我没有旧的 Tcl 可以测试,但试试这个:
set numbers [regexp -all -inline {\d+} $string]
puts [join $numbers]
【讨论】:
join;非空数字序列总是好词。
你可以试试这个...想法是用regsub command删除除数字以外的所有字符并用空格替换:
set your_string "code_lines_part2021vol32i8mn.txt"
regsub -all -nocase {[._a-z]} $your_string { } newstring
lassign $newstring num_1 num_2 num_3
puts "result = $num_1 $num_2 $num_3"
# result = 2021 32 8
使用regexp command 可能会更容易,但我还没有弄清楚。
文档:regsub、lassign 和 regexp(如果你想试试)
【讨论】:
foreach {num_1 num_2 num_3} $newstring {}