删除 TCL 中某个字符之前的所有内容
Removing everything before a certain character in TCL
输入字符串:4567-ABC
我想删除字符串中“-
”之前的所有内容,以便输出为 ABC。
输出:ABC
如果您想避免使用正则表达式:
set string 4567-ABC
set output [lindex [split $string "-"] 1]
split
命令接受一个字符串和拆分字符作为参数,returns一个列表。
string last
在这里很有用:
set string 4567-ABC
set idx [string last "-" $string]
set wanted [string range $string $idx+1 end]
或者没有中间变量
set wanted [string range $string [string last "-" $string]+1 end]
如果原始字符串不包含任何连字符,这甚至有效。
输入字符串:4567-ABC
我想删除字符串中“-
”之前的所有内容,以便输出为 ABC。
输出:ABC
如果您想避免使用正则表达式:
set string 4567-ABC
set output [lindex [split $string "-"] 1]
split
命令接受一个字符串和拆分字符作为参数,returns一个列表。
string last
在这里很有用:
set string 4567-ABC
set idx [string last "-" $string]
set wanted [string range $string $idx+1 end]
或者没有中间变量
set wanted [string range $string [string last "-" $string]+1 end]
如果原始字符串不包含任何连字符,这甚至有效。