티스토리 뷰

javaScript를 사용 하면서 코딩을 진행 하다보면 문자열에 여러가지 처리를 해야 하는 경우가 생깁니다.이런 경우에 유용하게 사용 될 수 있는 문자열 메서드가 바로 lastIndexOf(),substring(),replace() 입니다. 이제 부터 이 3가지 메서드에 대해서 설명 하려고 합니다.


1. lastIndexOf()

메서드 이름에서 바로 알 수 있듯이 문자열에서 마지막으로 나오는 부분 문자열을 반환합니다.  문자열이 존재 하지 않을 경우 -1을 리턴 합니다.


   구문 : strObj.lastIndexOf(substring[, startindex])


   사용 예제

1
2
3
4
5
6
7
8
9
10
11
12
   var str = "Hello javaScript,ABC"
 
   var s = "";
   s += "Hello javaScript,ABC : " + str.lastIndexOf(",");
   s += "<br />";
   s += "123 is at position : " + str.lastIndexOf("123");
 
   document.write(s);
 
   //실행 결과
   //Hello javaScript,ABC : 16
   //123 is at position : -1
cs



2. substring()

문자열에서 특정 위치에서 시작하여 특정 문자수만큼의 문자들을 반환합니다.  문자의 length가 0 또는 음수 일 경우 substr()은 빈 문자열을 반환합니다.  start가 음수 이면 substr()은 문자열 끝에서 start 숫자만큼 뺀 곳에서 시작하게 됩니다. 


   구문 : str.substr(start[, length])


   사용 예제

1
2
3
4
5
6
7
8
 var str = 'abcdefghij';
 
 console.log('(1, 2): '   + str.substr(12));   // '(1, 2): bc'
 console.log('(-3, 2): '  + str.substr(-32));  // '(-3, 2): hi'
 console.log('(-3): '     + str.substr(-3));     // '(-3): hij'
 console.log('(1): '      + str.substr(1));      // '(1): bcdefghij'
 console.log('(-20, 2): ' + str.substr(-202)); // '(-20, 2): ab'
 console.log('(20, 2): '  + str.substr(202));  // '(20, 2): '
cs



3. replace()

   메소드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 


   구문 : str.replace(regexp|substr, newSubStr|function)


   사용예제

1
2
3
4
5
6
   var str = 'Hello javaScript,ABC';
   var newstr = str.replace(ABC, '123');
   console.log(newstr); 
   
   //실행 결과
   // Hello javaScript,123
cs


4. 응용 

앞서 살펴본 3가지 문자열 메서드를 모두 사용하는 예제 입니다. "http://www.google.co.kr/search/service/xx.html" 와 같은 문자열에서 빨강색으로 강조된 xx을 가져 오는 예제입니다.


우선 lastIndexOf()로 '/'이후 문자열 포지션을 가지고 온 후 substring()으로 해당 문자열 이후 포지션을 가져오고 가져온 문자열을 replace()를 통해 최종 결과 값을 가져 오게 하는 것입니다.


1
2
3
4
5
6
7
    var str = "http://www.google.co.kr/search/service/xx.html";
    var n = str.lastIndexOf("/");
    var result  = str.substring(n+1,str.length).replace(".html""");
    console.log(result); 
 
    //실행 결과
    //xx
cs



'IT > JavaScript' 카테고리의 다른 글

[jQuery] ID,NAME,CLASS로 접급하기  (0) 2018.11.24
댓글