반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바스크립트
- Maven
- Button
- CMD
- javascript
- 자바
- Files
- windows
- input
- vscode
- ArrayList
- 테이블
- 문자열
- 인텔리제이
- Visual Studio Code
- 이클립스
- html
- Array
- CSS
- list
- string
- json
- IntelliJ
- Java
- table
- Eclipse
- date
- 배열
- 이탈리아
- js
Archives
- Today
- Total
어제 오늘 내일
[Javascript] 특정 문자 위치 찾기 (indexOf 함수) 본문
지난 번에는 특정 위치의 문자를 찾는 방법,
즉, index값을 입력으로 전달하여,
해당 위치에 있는 문자를 읽는 방법을 알아보았습니다.
[Javascript] 특정 위치 문자 찾기 2가지 방법 (charAt 함수, 대괄호)
이번에는 그 반대로
특정 문자가 문자열의 어느 index에 위치하는지 찾는 방법을 알아보도록 하겠습니다.
Javascript의 문자열에서 특정 문자의 위치를 찾기 위해서
indexOf 함수를 사용합니다.
indexOf() 함수
string.indexOf(searchvalue, position)
- indexOf 함수는, 문자열(string)에서 특정 문자열(searchvalue)을 찾고,
검색된 문자열이 '첫번째'로 나타나는 위치 index를 리턴합니다. - 파라미터
- searchvalue : 필수 입력값, 찾을 문자열
- position : optional, 기본값은 0, string에서 searchvalue를 찾기 시작할 위치
- 찾는 문자열이 없으면 -1을 리턴합니다.
- 문자열을 찾을 때 대소문자를 구분합니다.
기본 예제
See the Pen 문자열 by anna (@hianna) on CodePen.
- 예제 1
- 문자열 'abab'에서 'ab'가 처음으로 나타나는 위치의 인덱스 값을 리턴합니다.
- 예제 2
- 문자열 'abab'에서 'ba'가 처음으로 나타나는 위치의 인덱스 값을 리턴합니다.
- 예제 3
- 문자열 'abab'에는 'abc'라는 문자열이 없으므로 숫자 -1을 리턴하였습니다.
- 예제 4
- indexOf 함수는 대소문자를 구분합니다.
- 문자열 'abab'에는 대문자 'AB'는 없으므로 숫자 -1을 리턴하였습니다.
position 값을 입력한 경우
See the Pen 문자열 by anna (@hianna) on CodePen.
- 예제 1
- indexOf 함수의 두번째 파라미터인 position값이 입력되지 않으면, position의 값은 0으로 처리됩니다.
- 위 예제에서는 'abab' 문자열의 0번째 index부터 'ab' 문자열을 찾고, 0번째 index에서 문자열 'ab'를 발견하였으므로, 0을 리턴하였습니다.
- 예제 2
- position 값을 '1' 로 입력하였습니다.
- 위 예제에서는 'abab' 문자열의 1번째 index부터 'ab' 문자열을 검색하므로,
index 0에 있는 'ab'는 무시합니다.
문자열에 있는 모든 searchvalue 위치 찾기
indexOf() 함수로는 찾고자 하는 문자열이 나타난 '첫번째' 위치만 찾을 수 있습니다.
약간의 프로그래밍을 통해
문자열에 있는 모든 searchvalue의 위치를 찾을 수 있습니다.
See the Pen 문자열 by anna (@hianna) on CodePen.
let str = 'abcabcabc';
let searchvalue = 'ab';
let pos = 0;
while (true) {
let foundPos = str.indexOf(searchvalue, pos);
if (foundPos == -1) break;
document.writeln( foundPos );
pos = foundPos + 1;
}
위 예제에서는
반복문 안에서 searchvalue를 찾고 나서(foundPos) (line 6)
position 값을 foundPos의 다음 index값으로 변경해 줍니다. (line 10)
마지막으로 더 이상 문자열을 찾지 못하면 반복문을 종료합니다 (line 7)
반응형
'IT > Javascript' 카테고리의 다른 글
[Javascript] 문자열의 첫글자만 대문자로 변환하기 (0) | 2020.07.19 |
---|---|
[Javascript] 문자열 합치기 (3가지 방법) (1) | 2020.07.18 |
[Javascript] 특정 위치 문자 찾기 2가지 방법 (charAt 함수, 대괄호) (0) | 2020.07.16 |
[Javascript] 문자열을 배열로 변환 (split 함수) (3) | 2020.07.15 |
[Javascript] 문자열 비교하기 (동등 비교, 대소 비교) (0) | 2020.07.14 |
Comments