2014-10-31 6 views
-1

{}을 tcl을 사용하여 파일 (.txt)의 알파벳 (예 : 'a')으로 바꾸는 방법은 무엇입니까?파일의 특정 문자를 바꾸려면 어떻게해야합니까?

예를 들어 파일의 내용은 다음과 같습니다 :

//----------------------- 
main() 
{ 
if (1) 
    { 
    printf("ok"); 
    } 
else 
    { 
    printf("not ok"); 
    } 
} 
//------------------------------ 
+2

질문을 시도하십시오. – Jerry

+0

파일을 읽고 다시 쓰는 방법을 알고 있습니까? –

답변

1
set fp [open work.txt] 
    set content [read $fp] 
    regsub -all \{ $content "" content 
    regsub -all \} $content "" content 
    puts $content 
+0

명의 동료와 파일 내용의 모든 {및} 중괄호를 제거 할 수 있습니다 ... –

0

간단한 교체와 문자열을 변환하려면 string map 오른쪽 도구입니다. 언밸런스 괄호를 사용하기 때문에지도를 약간주의 깊게 작성하면됩니다.

set transformed [string map { \{ "abc" \} "def" } $original] 

시연 :

% set original "QBC{DEF}SHP" 
QBC{DEF}SHP 
% set transformed [string map { \{ "abc" \} "def" } $original] 
QBCabcDEFdefSHP 

은 다음, 그 문자열 변환 할 문자열로 파일을 읽어 파일을 변환 다시 쓰는합니다. 스택 오버플로에 이미 파일을 읽고 쓰는 방법에 대한 많은 해답이 있습니다.

+0

이상이 코드를 사용하여 –