본문 바로가기
프로그래밍/Java Script

Java Script - 문자열 메소드 String method

by 3.14pie 2022. 12. 5.

string - 문자열과 관련된 함수

        let text = "Hello world";

        console.log(text.length);
        console.log(text.indexOf("world"));
        console.log(text.lastIndexOf("hello"));
        console.log(text.search("world"));
        console.log(text.charAt(3));

length - 문자열의 길이를 구한다.

indexOf - 해당 파라미터를 찾아 최초 문자의 인덱스를 반환한다. 찾지 못하면 -1을 반환한다.

lastIndexOf - indexOf와 같은 역할을 한다. 하지만 뒤에서부터 검사해 나오는 문자의 인덱스를 반환한다.

search - indexOf와 같은 역할을 한다. 하지만 검사의 시작점을 지정할 수 없다.

charAt - 지정한 인덱스 번호의 문자열을 반환한다.

        let animal = "dog, cat, wolf";
        let arr = animal.split(",");

        console.log(animal.slice(2, 9));
        console.log(animal.slice(-8, -2));
        console.log(animal.substring(2, 9));
        console.log(animal.substr(2, 6));
        console.log(arr);

slice - 원하는 부분만 출력한다. 첫 시작점의 인덱스 번호와 끝나는 인덱스(9라고 적었으면 8번 인덱스까지만 출력이므로 원하는 인덱스 + 1로 적어야 한다.)를 지정하면 된다. - 로 인덱스를 지정할 수 있는데 이때는 오른쪽부터 세게 된다.

substring - slice와 같은 역할을 한다. 2번째 파라미터가 더 작을 경우, substring은 값을 바꿔서 출력한다. (ex. 8, 4 면 4, 8로 출력) slice는 그냥 빈 string을 출력한다. substring은 - 로 인덱스를 지정할 수 없다. - 로 지정하면 0으로 바꿔 출력한다. (ex. -2, 8 이면 0, 8로 출력) string(2, indexOf("~~"));의 형태로 많이 사용된다.

substr - 첫 시작점의 인덱스 번호를 지정하고 거기서부터 몇 개의 문자열을 출력할 것인지 설정한다. 즉, 2번 인덱스부터 6개 문자열을 출력하라는 뜻이다. 원하는 문자의 형식을 정확히 알고 있을 때 사용하면 좋다.

split - 해당 파라미터를 기준으로 값을 나누어 배열 형태로 저장한다.

        let str = "This is good. It is yours";
        let str2 = str.replace("is", "are");
        let str3 = str.replace(/is/g, "are");
        let str4 = str.concat("\n", str2);
       
        console.log(str2);
        console.log(str3);
        console.log(str.toUpperCase());
        console.log(str.toLowerCase());
        console.log(str4);

replace - 원하는 문자열을 찾아서 원하는 문자열로 변경하는 것이다. 첫번째 문자열만 변경되기 때문에 모든 'is'를 변경하기 위해서는 정규표현식을 써야 한다. /is/g 를 하면 모두 변경된다.

concat - 문자열을 붙일 때 사용된다. 개수 제한 없이 파라미터를 넣을 수 있으며, 띄어쓰기는 제공되지 않으므로 넣어줘야 한다.

toUpperCase - 모든 문자열을 대문자로 바꿔준다.

toLowerCase - 모든 문자열을 소문자로 바꿔준다.

        let title = "    TITLE     ";

        console.log(title);
        console.log(title.trim());

trim - 앞, 뒤의 공백을 제거하고 출력한다.

        let serial = "34";
       
        console.log(serial.padStart(5, 0));
        console.log(serial.padEnd(5, 0));

padStart - 5자리를 채우기 위해 앞부터 부족한 자리수를 0으로 채운다. 결과는 00034가 나온다.

padEnd - 5자리를 채우기 위해 뒤부터 부족한 자리수를 0으로 채운다. 결과는 34000이 나온다.