ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • String Method
    JavaScript 2022. 5. 13. 17:28

     

    String Method

     

    String.indexOf() / String.lastIndexOf()

    • String.indexOf(): String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다.
    • String.lastIndexOf(): String 객체에서 주어진 값과 일치하는 마지막 인덱스를 반환한다.
    • 일치하는 값이 없으면 -1을 반환한다.
    • 문자열을 찾을 때 대소문자를 구분한다.
    • 첫 번째 인자: 찾으려는 문자열(주어지지 않으면 “undefined”를 찾음)
      두 번째 인자: 문자열에서 찾기 시작하는 위치를 나타내는 인덱스 값 (생략가능)
    // 구문
    str.indexOf(searchValue[, fromIndex])
    
    const str = "abcDEFabc"
    str.indexOf('abc')     // 0  -> 자바스크립트에서 인덱스는 0부터 시작
    str.indexOf('abcd')    // -1 -> 문자열을 비교할 때 문자의 대소문자를 구분
    str.indexOf('abc', 3)  // 6  -> 인덱스 3부터 'abc'를 찾기 시작
    

     

    String.substring()

    • String 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환한다.
    • 첫 번째 인자: 반환 문자열의 시작 인덱스
      두 번째 인자: 반환 문자열의 마지막 인덱스 (생략가능, 생략 시 문자열의 끝까지 모든 문자 반환)
    // 구문
    str.substring(indexStart[, indexEnd])
    
    const str = "abcDEFabc"
    str.substring(2, 6); // cDEF
    

     

    String.charAt()

    • 문자열에서 특정 인덱스(인수로 전달한 값)에 위치하는 문자를 반환한다.
    • 인자가 문자열의 범위(0 ~ (문자열 길이 - 1))를 벗어난 경우 빈문자열을 반환한다.
    • 인자를 생략하면 기본값으로 0를 설정되고 첫 문자를 반환한다.
    const str = 'Hello'
    console.log(str.charAt(0)) // H 
    console.log(str.charAt(1)) // e 
    console.log(str.charAt(2)) // l 
    console.log(str.charAt(3)) // l 
    console.log(str.charAt(4)) // o 
    
    // 지정한 index가 범위(0 ~ str.length-1)를 벗어난 경우 빈문자열을 반환
    console.log(str.charAt(5)) // ''
    
    

     

    String.replace()

    • 첫번째 인수로 전달한 문자열 또는 정규표현식을 String 객체에서 검색하여 두번째 인수로 전달한 문자열로 대체한다.
    • 원본 문자열은 변경되지 않고 결과가 반영된 새로운 문자열을 반환한다.
    • 검색된 문자열이 여러개가 존재할 경우 첫번째로 검색된 문자열만 대체된다.
    // 구문
    let newStr = str.replace(regexp|substr, newSubstr|function)
    
    const str = 'Hello world'
    
    // 첫번째로 검색된 문자열만 대체하여 새로운 문자열을 반환
    str.replace('world', 'Hizini') // Hello Hizini 
    
    // 특수한 교체 패턴 사용 가능 ($& => 검색된 문자열) 
    str.replace('world', '<strong>$&</strong>') // Hello <strong>world</strong> 
    
    /* 정규표현식 
    g(Global): 문자열 내의 모든 패턴을 검색한다. 
    i(Ignore case): 대소문자를 구별하지 않고 검색한다. */ 
    str.replace(/hello/gi, 'Hizini') // Hizini world
    
    .replace(' ','') // 첫번째 공백 제거
    .replace(/\\-/g,'') // 특정문자 제거1 (-)
    .replace(/,/g,'') // 특정문자 제거2(,)
    .replace(/^\\s+/,'') // 앞의 공백 제거
    .replace(/\\s+$/,'') // 뒤의 공백 제거
    .replace(/^\\s+|\\s+$/g,'') // 앞뒤 공백 제거
    .replace(/\\s/g,'') // 문자열 내의 모든 공백 제거
    .replace(/\\n/g,'') // n개행 제거
    .replace(/\\r/g,'') // 엔터 제거
    
    • 매개변수가 String일 때 특수한 교체 패턴
      • $` : 문자 대체(replace) 시 일치한 문자 이전 값 참조
      • $’ : 문자 대체(replace) 시 일치한 문자 이후 값 참조
      • $+ : 문자 대체(replace) 시 마지막으로 캡처된 값 참조
      • $& : 문자 대체(replace) 시 일치한 문자 결과 전체 참조
      • $_ : 문자 대체(replace) 시 입력(input)된 문자 전체 참조
      • $n : 문자 대체(replace) 시 n번째 부분 표현식 문자 값 참조 (n은 1~99)

     

    String.split()

    • 첫번째 인수로 전달한 문자열 또는 정규표현식을 대상 문자열에서 검색하여 문자열을 구분한 후 분리된 각 문자열로 이루어진 배열을 반환한다.
    • 원본 문자열은 변경되지 않는다.
    • 인수가 없는 경우, 대상 문자열 전체를 단일 요소로 하는 배열을 반환한다.
    const str = 'How are you doing?'
    
    // 공백으로 구분하여 배열로 반환
    console.log(str.split(' ')) // [ 'How', 'are', 'you', 'doing?' ] 
    
    // 각 문자를 모두 분리
    console.log(str.split('')) 
    // [ 'H','o','w',' ','a','r','e',' ','y','o','u',' ','d','o','i','n','g','?' ] 
    
    // 정규 표현식 
    console.log(str.split(/\\s/)) // [ 'How', 'are', 'you', 'doing?' ] 
    
    // 인수가 없는 경우, 대상 문자열 전체를 단일 요소로 하는 배열을 반환
    console.log(str.split()) // [ 'How are you doing?' ] 
    
    // 공백으로 구분하여 배열로 반 (단, 요소수는 3개까지만 허용한다)
    console.log(str.split(' ', 3)) // [ 'How', 'are', 'you' ] 
    
    // 'o'으로 구분하여 배열로 반환
    console.log(str.split('o')) // [ 'H', 'w are y', 'u d', 'ing?' ]
    

     

    String.slice()

    • 문자열의 일부를 추출하면서 새로운 문자열을 반환한다. (substring과 동일)
    • 단, 음수의 인수를 전달할 수 있다. (substring과 차이)
    const str = 'hello world'
    
    // 인수 < 0 또는 NaN인 경우 : 0으로 취급
    str.substring(-5) // 'hello world' 
    // 뒤에서 5자리를 잘라내어 반환
    str.slice(-5) // 'world' 
    
    // 2번째부터 마지막 문자까지 잘라내어 반환 
    str.substring(2) // llo world 
    str.slice(2) // llo world 
    
    // 0번째부터 5번째 이전 문자까지 잘라내어 반환 
    str.substring(0, 5) // hello 
    str.slice(0, 5) // hello
    

     

    String.repeat()

    • 문자열을 주어진 횟수만큼 반복해 연결한 새로운 문자열을 반환한다.
    • count가 0이면 빈 문자열을 반환하고 음수이면 RangeError를 발생시킨다.
    'abc'.repeat(0) // '' 
    'abc'.repeat(1) // 'abc' 
    'abc'.repeat(2) // 'abcabc' 
    'abc'.repeat(2.5) // 'abcabc' (2.5 → 2) 
    'abc'.repeat(-1) // RangeError: Invalid count value
    

     

    String.includes()

    • 인수로 전달한 문자열이 포함되어 있는지를 판별하고, 결과를 true 또는 false로 반환한다.
    • 두번째 인수는 옵션으로 검색할 위치를 나타내는 정수이다.
    const str = 'hello world'
    
    str.includes('hello') // true 
    str.includes('hello', 0) // true 
    str.includes('hello', 2) // false 
    

     

    String.toLowerCase()

    • 문자열을 소문자로 변환해 반환한다.
    const str = 'Hizini' 
    console.log(str.toLowerCase()) // 'hizini'
    

     

    String.toUpperCase()

    • 문자열을 대문자로 변환해 반환한다.
    const str = 'Hizini' 
    console.log(str.toUpperCase()) // 'HIZINI'
    

     

    String.trim()

    • 문자열 양 끝의 공백을 제거한다.
    const str = ' Hizini ' 
    console.log(str.trim()) // 'Hizini'
    
    반응형

    'JavaScript' 카테고리의 다른 글

    Object (객체)  (0) 2022.05.24
    스택(Stack) 구현하기  (0) 2022.05.19
    제어문 (조건문, 반복문, 분기문)  (0) 2022.05.13
    논리 연산자  (0) 2022.02.21
    Template literals  (0) 2022.02.21

    댓글

Designed by Tistory.