일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- html
- 프로그래머스코테
- 자바스크립트
- 프로그래머스
- 코테스터디
- 알고리즘스터디
- 코테준비
- 프로그래머스 Lv.0
- mysql
- next.js
- 알고리즘공부
- Redux-Toolkit
- 프로그래밍
- 개발자
- 알고리즘문제
- next.js 에러
- 코딩
- 정보처리기사
- 프로그래머스 코딩테스트
- js
- 프로그래머스알고리즘
- 프로그래머스 레벨0
- 1일1코테
- 코딩테스트
- CSS
- 프로그래머스 코테
- 프로그래머스코딩테스트
- 정처기기출
- 코테공부
- 프로그래머스 알고리즘
- Today
- Total
계발하는 개발자
[JS] 문자열 특정 문자 위치 찾기(indexOf, search) 본문
search 메서드와 indexOf 메서드는 둘 다 자바스크립트 문자열에서 특정 문자 또는 부분 문자열을 검색하는 데 사용되는 메서드입니다.
그러나 두 메서드 간의 반환 값과 그 사용 방법에서는 차이가 있습니다.
1. indexOf
사용 방법: 문자열.indexOf(찾을 문자 또는 부분 문자열)
반환값: indexOf() 메서드는 문자열 내에서 소괄호 안의 특정 문자가 처음으로 등장하는 인덱스를 반환합니다.
찾을 문자열이 없을 경우 '-1'을 반환합니다.
예시:
Ex - 특정 문자)
const tx = "Hello? How are you?"
tx.indexOf("?")
// 결과 : 5를 반환
예컨대, sum.indexOf('?') 라면 해당 문자열에서 '?' 문자가 처음으로 등장하는 인덱스를 반환합니다.
만약 '?' 문자가 문자열에 존재하지 않는다면 -1을 반환합니다.
위 예에서는 문자열 내에서 '?'문자가 처음 등장하는 인덱스로 5를 반환할 것입니다.
(문자열의 첫번째 문자를 인덱스 0번으로 차례로 세서 5번째 인덱스에 '?' 가 위치하고 있으므로!)
2. search
사용 방법: 문자열.search(정규식 또는 검색할 문자열)
반환값: 검색된 문자열 또는 정규식의 인덱스를 반환합니다. 검색되지 않으면 '-1'을 반환합니다.
예시:
Ex1 - 특정 문자)
const tx = "Hello? How are you?"
tx.search("?")
// 결과 : 5를 반환
Ex2 - 정규식)
const str = 'Hello, World!';
const regex = /o/;
// 결과 : 4를 반환
indexOf 메서드와 마찬가지로 문자열에서 검색할 특정 문자가 등장하는 인덱스를 반환할 수 있고,
다른 점이라면 정규식을 사용하여 문자열에서 해당 정규식에 해당하는 인덱스를 반환할 수도 있습니다.
indexOf 메서드의 경우는 search처럼 정규식을 직접 처리하지 않고,
문자열 또는 부분 문자열에 대해서만 작동하는 차이가 있습니다.
Ex - indexOf 메서드에서 정규식 문자 찾기)
const str = 'Hello, World!';
console.log(str.indexOf(/o/));
// 결과: -1
Ex - search 메서드에서 정규식 문자 찾기)
const str = 'Hello, World!';
console.log(str.search(/o/));
// 결과: 4
'📌 Language > Javascript' 카테고리의 다른 글
[JS] undefined vs null 차이 (0) | 2023.06.09 |
---|---|
[JS] is vs includes 메서드 차이 (0) | 2023.06.08 |
[JS] 라디오버튼 체크여부에 따른 입력창 활성/비활성화 (1) | 2023.05.14 |
[JS] 라디오버튼 중복체크 방지 (0) | 2023.05.14 |
[JS] 스크롤 페이드인 기능 구현 (2) | 2023.05.07 |
dev_genie
@dev_genie
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!