조금씩 꾸준히 완성을 향해

[JavaScript] Data type - String Method (문자열 대표 메소드) 본문

기타 언어/JavaScript

[JavaScript] Data type - String Method (문자열 대표 메소드)

all_sound 2022. 7. 27. 10:29

 

 

<문자열 대표 속성(property)>

 

●  string.length : 문자열의 길이를 나타낸다.

let hello = "hello"

console.log(hello.length); //5

 


<문자열 대표 method>

 

 - 문자열 접근 

 

 ●  string.charAt(index) : index에 해당하는 문자 반환

 

 ●  string.charCodeAt(index) : index에 해당하는 코드를 반환

 
    let str = "hello world";
    
    console.log(str.charAt(1)); //e
    console.log(str.charCodeAt(1)); 101
    console.log(str[0]); //h
 

 

- 문자열 검색

 

  string.indexOf(substr, pos) : 해당 문자가 들어있는 index를 찾아준다.

 

  string.lastIndexOf(substr, pos) : 해당 문자가 들어있는 마지막 index를 찾아준다.

 

  string.includes(substr, pos) : 해당 문자열이 포함되는지 ture / false로 확인

 

  string.startsWith(substr ,pos) : 해당 문자로 문자열이 시작되는지 ture / false로 확인

 

  string.endsWith(substr, pos) : 해당 문자로 문자열이 끝나는지 ture / false로 확인

 

    pos : 작업을 시작할 index 값 

     ex) string.indexOf("u") => string에서 "u"가 최초로 등장하는 index를 찾아라.

           string.indexOf("u", 4) => string의 index 4부터 시작해서 "u"가 최초로 등장하는 index를 찾아라.

 

    let txt = "hello, world!!!"
 
    console.log(txt.indexOf("l")); //2
    console.log(txt.indexOf("l", 3)); //3
    console.log(txt.lastIndexOf("l")); //10

    console.log(txt.includes("Hello")); //false
    
    console.log(txt.startsWith("ello", 1)); //true
    console.log(txt.endsWith("world")); //false
  
 

 

 - 문자열 변환

 

 ●  string.toUpperCase() : 문자열을 모두 대문자로 변경

 

 ●  string.toLowerCase() : 문자열은 모두 소문자로 변경

 
    let str = "HeLlo!!";
    
    console.log(str.toUpperCase()); //HELLO!!
    console.log(str.toLowerCase()); //hello!!

 

 

 

 - 문자열 치환

 

 ●  string.replace(orgin_str, change_str) : 처음 발견된 orgin_str의 값을 change_str로 바꿔서 반환

 

      ✔ 정규 표현식 활용 문자열 치환 : 특정 문자 모두를 한꺼번에 바꾸고 싶을 때 사용

       치환 문자열에 정규 표현식 기입 ->  String.replace(/orgin_str/g, "change_str")

                                                                String.replace(/orgin_str/gi, "change_str")

                                                             * g : 발생할 모든 패턴에 대한 전역 검색 (Global search)

                                                             * i : 대/소문자 구분을 무시 (Case-insensitive search)

 

    let text ="helLo, world!!!";
    let change_text = "";

    change_text = text.replace("world", "earth");
    console.log(change_text); //hello, earth!!!
    console.log(text); //hello, world!!!

    console.log(text.replace("!", "?")); //hello, world?!!
    console.log(text.replace("l", "i")); //hello, world!!!

    console.log(text.replace(/l/g, "i")); //hello, world!!!
    console.log(text.replace(/l/gi, "i")); //hello, world!!!​

 

 

 

 - 문자열 추출

 

 위치기반 : string.slice(start[, end]),  string.substring(start[, end])

                ✔start index부터 end index 직전까지 추출 (end 포함 안됨), end가 없을 경우  start index부터 끝까지 추출
                ✔substring은 end가 start보다 작을 경우에 자동으로 순서를 바꾸어 추출

 

 

 길이기반  : string.substr(start, length)  

                ✔start 에는 추출을 시작할 index값, length에는 추출할 문자 길이 
 
    let hello = "hello, world!!!";
    
    console.log(hello.slice(0, 5)); //hello
    console.log(hello.slice(4, 5)); //o
    console.log(hello.slice(4)); //o, world!!!
    console.log(hello.slice(-4)); //d!!!
    
    console.log(hello.slice(2, 6)); //llo,
    console.log(hello.slice(6, 2)); //값이 나오지 않는다
    
    console.log(hello.substring(2, 6)); //llo,
    console.log(hello.substring(6, 3)); //llo, 내부적으로 작은 값을 앞으로 변환

    console.log(hello.substr(2, 6)); //llo, w
    console.log(hello.substr(-5, 3)); //ld!

 

 

- 문자열 분할

 

 ●  string.split()

split()
split(separator)
split(separator, limit)

     Separator를 지정할 수 있다.

       (띄어쓰기 없는 빈문자열 넣으면 글자 하나하나 분리, 띄어쓰기 있는 빈문자열 넣으면 띄어쓰기를 기준으로 분리)

    ✔  limit에는 분할해서 꺼낼 item 갯수 입력, limit값이 없으면 모든 item 다 반환

 

    let fruits = "apple banana melon";

    result = fruits.split(" ");
    console.log(result); //['apple', 'banana', 'melon']
    console.log(result[0]); //apple

    let text = "hello";

    result = text.split("");
    console.log(result); //['h', 'e', 'l', 'l', 'o']
    console.log(result.length); //5
    console.log(result[0]); //h

    result = text.split("", 3);
    console.log(result); //['h', 'e', 'l']
    console.log(result.length); //3
 

 

<문자표기>

 

-다양한 방법

 Line feed(\n),  Carriage return(\r),  Backslash(\\),  Tab(\t),  Unicode(\u{})

    console.log("line\nfeed"); //line <newline> feed
    console.log("carriage\rreturn"); //carriage <newline> return
    console.log("backslash \\"); // backslash \
    console.log("tab\ttab"); //tab tab
    console.log("smile: \u{1F60D}"); //smile: 😍