如何使用替换

时间:2016-11-20 10:58:54

标签: tcl

如何搜索每个字符串单词并如下所示进行更改;

set firstLibrary {12345}
set secondLibrary {aghij}

备注:

1=a ; 2=g ; 3=h ; 4=i ; 5=j
set theString {44168}

然后输出是; 44168 = iia68

2 个答案:

答案 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