最后连接子串的 tcl 字符串或正则表达式

tcl string or regex expression to join the substring at last

目前,我正在删除第一个位置的子字符串,但我想在文件中提到的所有字符串的最后一个位置加入相同的第一个位置子字符串 (注:这里每个子串都用下划线来分类)

file.txt
        A_Class 
        B_Class 
        A_Name_Student 
        B_Name_Student 
        Marks_Mid_Term_Student
        Marks_Student_Subject
    

到目前为止,我尝试删除第一个子字符串,但最后无法加入它,

        set school [string range $school [expr {[string first "_" $school] + 1}] end]

基本上,我想把它打印成

        Class_A
        Class_B
        Name_Student_A
        Name_Student_B
        Mid_Term_Student_Marks
        Student_Subject_Marks
        
        

有很多方法可以做到这一点。这是一种方法,将输入字符串转换为由“_”分隔的元素列表,重新排列列表,然后转换回字符串形式:

set schl [split $school _]
set schl [lassign $schl first]
lappend schl $first
set school [join $schl _]