문자열

Suxxzzy.log·2021년 11월 10일
0

문자열 다루기

문자열을 공부할 때 속성메서드라는 말이 나와서, 이 둘의 차이점이 무엇인지 알아보았다.

클래스에 포함되는 변수를 속성(attribute)이라고 부르며, 클래스에 포함되는 함수를 메소드(method)라고 부릅니다.

문자열은 하나의 클래스라고 생각할 수 있다.
따라서 문자열은 속성과 메소드를 포함하고 있다. 문자열이 가지는 속성에는 length가 있고, 메소드에는 IndexOf, lastIndexOf, includes, split, substring, toLowercase, toUpperCase이 있다.
메소드를 이용하면 문자열을 원하는 형태로 만들 수 있는데, 메소드를 하나하나씩 살펴보자.

문자열의 길이 확인하기

글자수를 확인하고 싶은 문자열.length

문자열의 각 글자마다 접근하는 방법(배열과 동일하다): bracket notation

확인하려는 문자열[숫자]

이때, 숫자는 0부터 시작한다. 숫자가 문자열의 길이보다 크다면 에러 난다.

문자열을 합치는 방법

띄어쓰기를 하며 두 문자열을 하고 싶으면 아래와 같이 쓴다.

문자열1 + " " + 문자열2

또는

`문자열1 문자열2`

``기호를 사용하는 것이 훨씬 편하다

문자열을 필요한 만큼만 선택하는 방법

문자열.substring(시작하는 위치,끝 위치)
문자열.slice(시작위치, 끝위치)

위 두 방법은 동일하다. 단 끝 위치까지 반환하는 것이 아니고, 끝 위치 바로 앞의 문자까지만 반환하게 된다.

대소문자 변환

문자열.toUpperCase() //대문자로 바꾸기
문자열.toLowerCase() //소문자로 바꾸기

원하는 문자의 인덱스 찾기

//가장 처음으로 발견한 문자의 인덱스를 반환한다. *은 안 써도 됨
문자열.indexOf('원하는 문자', 검색을 시작하고 싶은 인덱스*)

//뒤에서부터 문자의 인덱스를 반환한다. 
문자열.lastIndexOf('원하는 문자')

원하는 문자열을 찾지 못할 경우 -1을 반환한다.

원하는 문자가 포함되어 있는지 확인만 하는 방법

전체 문자열.includes('포함여부를 확인할 문자열')

문자열을 배열로 만드는 방법

문자열.split('구분의 기준이 되는 문자**')

구분의 기준이 되는 문자는 공백이어도 되고, ,여도 된다. 다만!.. 구분의 기준이 되는 문자는 반드시, 문자열 안에 꼭 있어야 한다.
주의할 점: 구분 기준이 되는 문자로 이 메서드를 실행하게 되면, 결과 배열에는 그 구분 문자가 없는 채로 나온다.
split API는 csv를 다룰 때 유용하다.

*csv란? comma-separated values는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 보통 엑셀 파일에서 많이 볼 수 있겠다.

참고로, 배열은 join을 이용해 다시 하나의 문자열로 만들 수 있다.

하나 더 생각해 볼 점

문자열에 대한 위 메서드들은 원래 선언되어 있던 문자열 자체를 바꾸지 않는다.
이는 메서드들이 immutable한 성격을 가지고 있기 때문이다. 이러한 점에서 배열과는 차이점을 보인다. 배열에 대한 일부 메서드들은 배열 자체를 바꾸는 성격이 있다. 따라서 그런 메서드들은 mutable 하다고 말할 수 있다 .

profile
몫을 다하는 사람

1개의 댓글

comment-user-thumbnail
2021년 12월 27일

잘보구있슴당

답글 달기

관련 채용 정보