본문 바로가기

프로그래밍 언어 /javascript

문자열에 관련된 유용한 메소드정리..및 팁정리

문자열 관련 메소드는 모두 immutable 입니다. 

원본이 변하지 않는 것이 immutable 원본이 변하는 것이 mutable 입니다. 

문자열과 관련된 모든 메소드는 immutable 입니다.

var str = 'dreammaker';

console.log(str[0]);  // d

console.log(str[4]); //  m

console.log(str[10]); // undefined

str[0] = 'g';

console.log(str); // 'dreammaker' not 'greammaker' 문자열은 안바뀜..배열일때는 바뀐다.

//문자열 사용시

var str1 = '1';

console.log(str1+7);  //17

//length  해당 문자의 길이를 출력하는 메소드

console.log(str.length); // 10

//indexOf  해당하는 문자열의 위치를 찾는 메소드

console.log(str.indexOf('m')); //4

console.log(str.indexOf('i')); // -1 없는 경우엔 -1를 출력하게 된다.

//includes 메소드 해당 문자열이 있으면 true 없으면 false 를 출력함 IE와 같은 구형 브라우저에서는 작동하지 않음.

console.log(str.includes('d')); // true

console.log(str.includes('i')); // false

//split(seperator) seperator기준으로 문자열을 나눈다. 

var str = 'hello from the other size';

console.log(str.split(' '));

// ['hello', 'from', 'the', 'other' , 'size' ]

//substring 메소드 문자열의 시작과 끝을 지정해서 문자를 보여줌. index 범위를 넘는 것을 적을 경우 마지막 index로 취급 

var str = 'hellostudio';

str.subString(0,3); // 'hel'

//substring과 slice의 자세한 차이점은 뒤에 알아보기로 .. 비슷하다.

//toLowerCase 는 소문자로 변환  toUpperCase 는 대문자로 변환 

//trim 맨앞과 맨뒤의 공백제거  

var greeting = '   Hello world!   ';
console.log(greeting); // expected output: "   Hello world!   ";
console.log(greeting.trim());// expected output: "Hello world!";

//match 

var str = 'For more information, see Chapter 3.4.5.1';

var re = /see (chapter \d+(\.\d)*)/i;

var found = str.match(re); console.log(found);

// logs [ 'see Chapter 3.4.5.1',

// 'Chapter 3.4.5.1',

// '.1',

// index: 22,

// input: 'For more information, see Chapter 3.4.5.1' ]

// 'see Chapter 3.4.5.1'는 완전한 매치 상태임.

// 'Chapter 3.4.5.1'는 '(chapter \d+(\.\d)*)' 부분에 의해 발견된 것임.

// '.1' 는 '(\.\d)'를 통해 매치된 마지막 값임.

// 'index' 요소가 (22)라는 것은 0에서부터 셀 때 22번째 위치부터 완전 매치된 문자열이 나타남을 의미함.

// 'input' 요소는 입력된 원래 문자열을 나타냄.

// replace(a,b) a문자열이 있는 곳 여러개가 있다면 첫번째에 있는 곳에 b문자열로 바뀜  여러개가 있을경우 하나만 바뀐다.

//replaceAll 처럼 사용하는 꿀팁 gi로 감싸기

str.replace(/a/gi,'s') // a라는 문자열을 s라는 문자열로 다바꾸기.