gpt4 book ai didi

tcl - 从 TCL 中的字符串中提取整数

转载 作者:行者123 更新时间:2023-12-01 09:32:11 25 4
gpt4 key购买 nike

我有一个这种模式的字符串:

2(some_substring) -> 3(some_other_substring)

现在这些数字可以是任何东西。

我觉得这个answer会解决问题。但它给出了一个变量中的所有整数。我希望它们处于不同的变量中,以便我可以分析它们。我们可以拆分吗?但是拆分会导致问题:

如果数字不是一位数,则拆分将是错误的。

还有其他办法吗?

最佳答案

您可以使用这种变体:您可以将所有数字字符提取到一个列表中,而不是删除非数字字符:

set text {2(some_substring) -> 3(some_other_substring)}
set numbers [regexp -all -inline -- {[0-9]+} $text]
puts $numbers
# => 2 3

要获取每个数字,您可以使用lindex:

puts [lindex $numbers 0]
# => 2

或者在8.5及之后的版本中,可以使用lassign将它们赋值给特定的变量名:

lassign $numbers first second
puts $first
# => 2
puts $second
# => 3

regexp -all -inline -- {[0-9]+} $text中,-all提取所有匹配项,-inline 将匹配项放入列表,-- 结束选项,[0-9]+ 匹配至少一个整数。

关于tcl - 从 TCL 中的字符串中提取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com