문자열 다루기 파트 투이다. 파트 원에 이어 자주쓰는 string의 method들을 정리해보려 한다.
모든 string의 method는 immutable 이다. immutable은 원본이 변하지 않는다는 것인데 나중에 배열의 method로 넘어가면 mutable한 것도 나온다. 하지만 string의 method는 모두 원본이 변하지 않는다는 것을 기억해야한다.
(string.toLowerCase() / string.toUpperCase() )
이 method는 이름 그대로 소문자는 전자, 대문자는 후자로 하면 된다.
Example)
console.log("word".toUpperCase())
//Expected outcome: "WORD"
(string.trim())
이 method는 string 양 옆의 빈 공백이 있으면 제거해준다.
Example)
console.log(" word ".trim() )
//Expected outcome: "word"
이제 남은 method는 replace, 그리고 match method인데 이것은 정규표현식을 다루기 때문에 정규표현식부터 공부해야 될 것 같다.
정규표현식을 작성하는 방법은 두가지가 있는데 첫번째는
let var = /ab+c/ 같이 정규식 리터럴(슬래쉬)로 하는 것이고 두번째는
let var = new RegExp("ab+c") 처럼 RegExp 생성자 함수를 호출하는 것이다.
생성자 함수를 사용하면 정규식이 실행 시점에 컴파일이 됨. 정규식 패턴이 변경되거나 다른 출처로부터 가져와야될 경우 생성자 함수를 사용한다.
정규식 패턴을 작성할 때는 단순 패턴 혹은 특수문자를 사용할 수 있다. 사실 이렇게 간단한 개념만 알고 자세한 부분은 Immersive에서 커버를 한다니 지금은 잠시 넘어가겠다.
Method Description
exec: 대응되는 문자열을 찾는 RegExp 메소드입니다. 정보를 가지고 있는 배열을 반환합니다. 대응되는 문자열을 찾지 못했다면 null을 반환합니다.
test: 대응되는 문자열이 있는지 검사하는 RegExp 메소드 입니다. true 나 false를 반환합니다.
match: 대응되는 문자열을 찾는 RegExp 메소드입니다. 정보를 가지고 있는 배열을 반환합니다. 대응되는 문자열을 찾지 못했다면 null을 반환합니다.
search:
대응되는 문자열이 있는지 검사하는 String 메소드 입니다. 대응된 부분의 인덱스를 반환합니다. 대응되는 문자열을 찾지 못했다면 -1을 반환합니다.
replace 대응되는 문자열을 찾아 다른 문자열로 치환하는 String 메소드입니다.
split 정규식 혹은 문자열로 대상 문자열을 나누어 배열로 반환하는 String 메소드입니다.
MDN에서 나온 정규표현식을 사용하는 method들이다. 어떻게 자세히 사용하는지는 나중에 사용할 때가 오면 공부하겠지만 대략적으로 무슨 역할들을 하는지는 알 것 같다.
String 복습 끝!