[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: 내장함수
소분류: 문자열 함수
strchange() 작성일: 2000/04/29
수정일: 2002/07/05

1. 형식 형식1) result= strchange(str, search_str, replace_str) 형식2) result= strchange(str, search_str, replace_str, separator) 형식3) result= strchange(str, search_str, replace_str, stag, etag) 형식4) result= strchange(str, search_str, replace_str, separator, stag, etag) 2. 기능: 인자 str의 문자열에서 search_str을 찾아 replace_str으로 바꿔진 문자열을 얻는다. 이 함수는 strfindreplace()함수와 비슷한 역할을 하며 여러개의 단어(문자열)를 찾아 바꿀 수 있는 차이점이 있다. 형식2)의 separator는 search_str과 replace_str의 문자열 내에서 단어를 분리하는 문자를 지정하고자 할 때 사용하며 초기값은 "|" 문자이다. 형식3)과 형식4)의 stag와 etag는 비변환 영역을 지정하는 문자열로써 str 문자열 내에서 stag로 시작되어 etag로 종료되는 부분에서는 문자열 변환이 되지 않도록 한다. 3. 설명 (1) str은 대상 문자열이며 수치이면 문자열로 변환된다. (2) search_str은 찾을 문자열이며 수치이면 문자열로 변환된다. 찾을 단어가 여러개일 경우 단어 분리 문자로 구분하여 나열할 수 있으며, 이들은 search_str의 왼쪽에서 오른쪽의 순서로 str과 비교된다. (3) replace_str은 바꿀 문자열이며 수치이면 문자열로 변환된다. 바꿀 단어가 여러개일 경우 단어 분리 문자로 구분하여 나열할 수 있다. (4) 여러 단어를 찾아 바꾸고자 할 때 search_str내의 단어와 replace_str내의 단어의 개수가 다르면 에러 처리된다. (5) search_str과 replace_str에서 각 단어의 길이가 64자를 초과하면 나머지는 무시되며 여러 단어를 사용할 때 단어수가 64개를 초과하면 에러 처리된다. (6) 형식1)은 찾은 문자열을 바꿀 문자열로 변환하며 여러개의 단어를 찾아 바꾸고자 할 때 각각의 단어를 "|" 문자로 구분한다. (7) 형식2)에서 separator는 단어 분리 문자이며 한문자가 아니면 에러 처리된다. (8) 형식3)과 형식4)에서 stag는 str 대상 문자열내에서 변환되지 않아야할 부분의 시작을 의미하는 식별 문자열이다. (9) 형식3)과 형식4)에서 etag는 str 대상 문자열내에서 변환되지 않아야할 부분의 끝을 의미하는 식별 문자열이다. (10) 변경한 문자열이 result에 돌려진다. 4. 사용예#1 str= "That Somebody Was You"; // 아래의 문장은 "o"는 "OO"로 "a"는 "AA"로 변환하며 단어 분리 문자는 "|"임 result1= strchange(str, "o|a", "OO|AA"); // 아래의 문장은 "o"는 "|"로 "a"는 "A"로 변환하며 단어 분리 문자는 ";"이다. result2= strchange(str, "o;a", "|;A", ";"); printf("[%s] [%s]\n", result1, result2); ------------------------------ [ 출력결과 ] ------------------------------ [ThAAt SOOmebOOdy WAAs YOOu] [ThAt S|meb|dy WAs Y|u] 5. 사용예#2 str= "aa<{bb}>cc<{dd}>ee"; // 대상 문자열 find= "a|b|c|d|e"; // 찾을 문자열 집합 rep= "A|B|C|D|E"; // 바꿀 문자열 집합 str2= strchange(str, find, rep); // 아래의 문장은 "<{"에서 "}>" 내의 문자는 변환 하지 않는다. str3= strchange(str, find, rep, "<{", "}>"); str4= strchange(str, find, rep, "|", "<{", "}>"); printf("str2=[%s] str3=[%s] str4=[%s]\n", str2, str3, str4); ------------------------------ [ 출력결과 ] ------------------------------ str2=[AA<{BB}>CC<{DD}>EE] str3=[AAbbCCddEE] str4=[AAbbCCddEE]

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]