JavaScript 문자열 자르기
JavaScript에서 문자열을 자르는 방법은 여러 가지가 있지만, 그중 가장 많이 사용되는 세 가지 함수인 substr(), substring(), slice()를 비교하며 자세히 알아보겠습니다. 이 글을 읽고 나면 각 함수의 차이점과 사용법을 확실히 이해하고, 상황에 맞게 활용할 수 있을 거예요! 함수 설명, 예제 코드, 결과를 하나씩 살펴보며 정리해보겠습니다.
1. substr() 함수
- substr(start, length)는 문자열에서 시작 위치(start)부터 지정한 길이(length)만큼의 문자열을 반환합니다.
- 첫 번째 매개변수(start): 자르기 시작할 인덱스(0부터 시작).
- 두 번째 매개변수(length): 추출할 문자 수(생략 가능, 생략 시 문자열 끝까지 반환).
- 특징: 음수 인덱스를 사용할 경우, 문자열 끝에서부터 계산합니다(다만, 최신 브라우저에서는 잘 동작하지 않을 수 있으니 주의).
예제 코드

결과 화면

사용 팁
- 특정 길이만큼 문자열을 자르고 싶을 때 유용합니다.
- 하지만 substr()은 비표준 메서드로 간주되며, 최신 코드에서는 substring()이나 slice()를 권장합니다.
2. substring() 함수
- substring(start, end)는 시작 인덱스(start)부터 끝 인덱스(end) 직전까지의 문자열을 반환합니다.
- 첫 번째 매개변수(start): 자르기 시작할 인덱스.
- 두 번째 매개변수(end): 자르기를 멈출 인덱스(해당 인덱스는 포함되지 않음, 생략 시 문자열 끝까지).
- 특징: 음수 값을 사용하면 0으로 간주하며, start가 end보다 크면 두 값을 자동으로 바꿔 처리합니다.
예제 코드

결과 화면

사용 팁
- 시작과 끝 인덱스를 기준으로 자르고 싶을 때 적합합니다.
- 음수 처리가 필요 없는 경우나, 인덱스 순서가 뒤바뀌어도 안전하게 동작해야 할 때 유용합니다.
3. slice() 함수
- slice(start, end)는 substring()과 비슷하지만, 음수 인덱스를 지원하며 더 유연합니다.
- 첫 번째 매개변수(start): 자르기 시작할 인덱스(음수면 끝에서부터 계산).
- 두 번째 매개변수(end): 자르기를 멈출 인덱스(포함되지 않음, 생략 시 끝까지).
- 특징: start가 end보다 크면 빈 문자열을 반환하며, 음수 인덱스를 활용해 뒤에서부터 자를 수 있습니다.
예제 코드

결과 화면

사용 팁
- 음수 인덱스를 활용해 문자열 끝에서부터 자르고 싶을 때 최적입니다.
- 배열에서도 동일하게 사용할 수 있어 범용성이 높습니다.
세 함수 비교 표
함수 | 매개변수 | 음수 인덱스 지원 | start > end 처리 | 특징 |
substr() | start, length | 제한적 | 해당 없음 | 길이 기반 자르기 |
substring() | start, end | 없음(0으로 처리) | 두 값 교환 | 인덱스 기반, 안전성 높음 |
slice() | start, end | 있음 | 빈 문자열 반환 | 유연성 높음, 배열 호환 |
어떤 함수를 써야 할까?
- 간단한 길이 기반 자르기: substr()을 고려할 수 있지만, 비표준이므로 주의.
- 안정적이고 직관적인 자르기: substring()이 적합합니다.
- 음수 인덱스와 유연성 필요: slice()를 추천합니다.
개인적으로는 slice()가 가장 범용적이고 현대적인 선택이라고 생각해요. 하지만 프로젝트의 요구사항과 팀의 코드 스타일에 맞춰 선택하는 것도 중요합니다.
이제 이 세 함수의 차이를 확실히 아셨죠? 직접 코드를 작성해보고 결과를 확인하면서 익혀보세요. 질문이 있다면 언제든 댓글로 남겨주세요!
[MySQL] 날짜 형식/포맷 변환 함수 (DATE_FORMAT 함수)
https://tkpark86.tistory.com/22
[MySQL] 날짜 형식/포맷 변환 함수 (DATE_FORMAT 함수)
MySQL DATE_FORMAT 함수: 날짜 형식을 자유롭게 다루는 방법안녕하세요, 데이터베이스 초보자부터 전문가까지 모두를 위한 MySQL 팁을 공유하는 블로그에 오신 것을 환영합니다! 오늘은 MySQL에서 날짜
tkpark86.tistory.com
#Javascript #문자열자르기 #substr() #substring() #slice() #비교 #자바스크립트함수 #인덱스 #순서 #매개변수
'Post' 카테고리의 다른 글
[Javascript] Array.prototype.map 사용법 map() 함수 완벽 정리 | 자바스크립트 (0) | 2025.04.04 |
---|---|
[MySQL] 날짜 형식/포맷 변환 함수 (DATE_FORMAT 함수) (0) | 2025.04.01 |
[리눅스 명령어] find 사용법 완벽 정리 Linux (파일찾기, 검색, 하위 디렉토리) (0) | 2025.03.31 |
[리눅스 명령어] grep 사용법 완벽 정리 Linux (파일에서 특정 단어 검색하기) (0) | 2025.03.28 |
17. ZigBee (0) | 2015.02.27 |