/****************************************************************************************** * 기능 : 문자열에서 토큰값 찾기 * 인자 : sVal - 찾을 문자열 * sStartToken - 시작 토큰값 * sEndToken - 종료 토큰값 (만약 종료 토큰을 못찾으면 마지막 값까지 찾아서 return) * 리턴 : 토큰에 대한 결과값 * 예문 : gfn_TokenParsing1("NAME=김상무,DEPT=인사부,", "NAME=", ',') *****************************************************************************************/
function gfn_TokenParsing(sVal, sStartToken, sEndToken)
{
var nStartPos;
var nEndPos ;
if (gfn_IsNull(sEndToken)) sEndToken = ',';
// 1. 시작 token
nStartPos = sVal.indexOf(sStartToken);
if (nStartPos < 0) return ''
// 2. 종료 token
if (gfn_IsNull(sEndToken)){
nEndPos = String(sVal).length;
}else{
nEndPos = sVal.indexOf(sEndToken , nStartPos);
if (nEndPos < 0) nEndPos = String(sVal).length;
}
if (nEndPos < 0) return '';
var rtn = sVal.substring(nStartPos + sStartToken.length, nEndPos).trim();
if (gfn_IsNull(rtn)) rtn = '';
return rtn;
}
/****************************************************************************************** * 기능 : 문자열에서 토큰값 위치 찾기 * 인자 : sVal - 문자열 * sToken - 찾을 토큰 * nSeq - 해당 동일 토큰이 여러개 존재 할 경우 몇번째 토큰을 찾을 순서 * 리턴 : 토큰에 대한 위치 * 예문 : *****************************************************************************************/
function gfn_TokenPosition(sVal, sToken, nSeq)
{
var nStart=0;
var nPos;
sVal = sVal.toString();
for(var i=1; i<=nSeq; i++){
nPos = sVal.indexOf(sToken, nStart);
nStart = nPos + sToken.length;
}
return nPos;
}
|