각 문자열 단어를 검색하고 아래와 같이 변경하는 방법;대체 문자 사용 방법
set firstLibrary {12345}
set secondLibrary {aghij}
비고 :
set theString {44168}
후 출력된다
1=a ; 2=g ; 3=h ; 4=i ; 5=j;
44168 = iia68
각 문자열 단어를 검색하고 아래와 같이 변경하는 방법;대체 문자 사용 방법
set firstLibrary {12345}
set secondLibrary {aghij}
비고 :
set theString {44168}
후 출력된다
1=a ; 2=g ; 3=h ; 4=i ; 5=j;
44168 = iia68
당신이해야 할 일은 두 라이브러리를 string map
과 함께 사용할 수있는지도로 모으는 것입니다. 이 열쇠는 foreach
의 두 목록 양식을 사용할 수 있으며, 구분 기호 집합이 비어있는 경우 split
명령을 사용하면 문자열을 구성 요소 문자로 쉽게 구분할 수 있다는 것입니다.
set map {}
foreach from [split $firstLibrary ""] to [split $secondLibrary ""] {
lappend map $from $to
}
$theString
에 string map
와지도를 적용하고 결과를 인쇄하는 운동으로 남아 있습니다.
그것의 위대한. 한 번 더, 문자열에서 문자열 두 단어를 분리하는 방법. 예를 들면 : {helloworlds}이고 출력은 다음과 같습니다 : hel ow or ld s – Andre
@Andre 그게 regexp를위한 것입니다 :'regexp -all -inline {..?} "helloworlds"' –
첫 번째 동일한 문자열 값 인 경우 두 번째 문자열 값을 얻고 평균값을 계산하는 방법은 다음과 같습니다.
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
문제는 명확하지 않다, 한 번 봐 – georoot
자세한 내용을 추가하시기 바랍니다 [문자열지도] (http://www.tcl.tk/man/tcl8.6/TclCmd/string.htm#M34)에서 문서 –