我有一个变量,总是给出一个字符串,如:
A_GPH_UNITSTESTSFRAMEWORK21_0_0
此字符串分配给名为$test
的变量。我试图找出如何从A_GPH_UNITSTESTSFRAMEWORK
剥离$test
,因为这将永远是相同的。数字将始终不同,但与_
的格式相同。
修改:
这似乎可以正常使用:
regsub {^[A-Z_A-Z]+} $test "" noletters
答案 0 :(得分:0)
你不需要正则表达式。使用字符串方法:
set result [string range $test 25 end]
应该是你使用的。
或者如果您将重复部分存储在变量中:
set same "A_GPH_UNITSTESTSFRAMEWORK"
set result [string range $test [string len $same] end]
答案 1 :(得分:0)
要剥离前导大写和下划线,请执行以下任一操作:
set result [regsub {^[A-Z_]+} $test ""]
或:
set result [string trimleft $test "ABCDEFGHIJKLMNOPQRSTUVWXYZ_"]
或者,要删除固定字符串,请执行以下操作:
set result [string map {A_GPH_UNITSTESTSFRAMEWORK ""} $test]