[ Nexacro.String -  문자열 치환 ]

 


/******************************************************************************************
 * 기능 : 문자열을 대소문자 구별하여 치환한다
 * 인자 : 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;

}

 

☞  

 

☞  

 
 
 
 

  

'Nexacro-Function > String' 카테고리의 다른 글

Nexacro.String - 문자열 수 세기  (0) 2017.01.28
Nexacro.String - 문자열 삭제.추가  (0) 2017.01.28
Nexacro.String - 문자열 찾기  (0) 2017.01.28
Nexacro.String - token 추출  (0) 2017.01.28
Nexacro.String - padding  (0) 2017.01.28
Posted by 농부지기
,