/****************************************************************************************** * 기능 : 문자열을 대소문자 구별하여 치환한다 * 인자 : 1. sOrg : 원래문자열 (예 : "aaBBbbccBB" ) 2. sRepFrom : 치환할 문자열 ( 예 : "BB" ) 3. sRepTo : 치환될 문자열 ( 예 : "xx" ) * 리턴 : 성공 = 치환된 문자열 ( 예 : "aaxxbbccxx" ) 실패 = sOrg * 예문 : *****************************************************************************************/
function fn_Replace( sOrg, sRepFrom, sRepTo )
{
var pos, nStart=0, sRet="";
if( fn_IsNull(sOrg) ) return "";
if( fn_IsNull(sRepFrom) ) return sOrg;
if( fn_IsNull(sRepTo) ) return sOrg;
while(1)
{
pos = Pos( sOrg, sRepFrom, nStart );
if( pos < 0 ){
sRet += sOrg.substr( nStart );
break;
}else{
sRet += sOrg.substr( nStart, pos - nStart);
sRet += sRepTo;
nStart = pos+sRepFrom.length;
}
}
return sRet;
}
/****************************************************************************************** * 기능 : 문자열을 대소문자 구별없이 치환한다 * 인자 : 1. sOrg : 원래문자열 (예 : "aaBBbbccBB" ) 2. sRepFrom : 치환할 문자열 ( 예 : "BB" ) 3. sRepTo : 치환될 문자열 ( 예 : "xx" ) * 리턴 : 성공 = 치환된 문자열 ( 예 : "aaxxxxccxx" ) 실패 = sOrg * 예문 : *****************************************************************************************/
function fn_ReplaceCase( sOrg, sRepFrom, sRepTo )
{
var pos, nStart=0, sRet="";
if( fn_IsNull(sOrg) ) return "";
if( fn_IsNull(sRepFrom) ) return sOrg;
if( fn_IsNull(sRepTo) ) return sOrg;
while(1)
{
pos = PosCase( sOrg, sRepFrom, nStart );
if( pos < 0 ) {
sRet += sOrg.substr( nStart );
break;
}else{
sRet += sOrg.substr( nStart, pos - nStart);
sRet += sRepTo;
nStart = pos+sRepFrom.length;
}
}
return sRet;
} |