如何搜索每个字符串单词并如下所示进行更改;
set firstLibrary {12345}
set secondLibrary {aghij}
备注:
1=a ; 2=g ; 3=h ; 4=i ; 5=j
set theString {44168}
然后输出是; 44168 = iia68
答案 0 :(得分:3)
您需要做的是将这两个库组合成一个可以与string map
一起使用的地图。关键是您可以使用foreach
的双列表格式,如果分隔符集为空,split
命令可以轻松地将字符串分解为其组件字符。
set map {}
foreach from [split $firstLibrary ""] to [split $secondLibrary ""] {
lappend map $from $to
}
将带有string map
的地图应用到$theString
并打印结果会留作练习。
答案 1 :(得分:0)
如果第一个相同的字符串值,则如何获取第二个字符串值,然后计算平均值,如下所示;
set first {A B B C D E E E E E G K}
set second {12 42 51 66 24 75 33 11 22 86 43 66}
set lenghtString [lenght $first]
for {set i 0} {$i < $lenghtString} {incr i} {
#arg please
#If same string on first string then get second string
#B B = (42+51)/2 = 46.5
#E E E E E = (75+33+11+22+86)/5 = 45.4
}
output with puts by rows: 12 46.5 66 24 45.4 86 66