Java에서 주어진 문자열에서 특정 문자를 포함하고 있는지 찾기 위해서는 contains()를 사용한다.
1 2 3 4 | String str = "Pen pineapple apple pen."; boolean isApple = str.contains("apple"); // 반환값: "true" , contains()의 반환값은 true/false이다. | cs |
그렇다면 Javascript에서도 contains()를 사용할 수 있을까??
1 2 3 4 | var str = "Pen pineapple apple pen."; str.contains("apple"); | cs |
띠용! 결과는 Javascript에서는 contains()를 사용할 수 없다.
JavaScript에서 문자 검색하기
대신 자바스크립트에서는 indexOf() 를 사용하여 특정 문자를 찾을 수 있다.
indexOf() |
Syntax |
string.indexOf ( searchvalue, start ) |
Parameter values |
* searchvalue : (필수) 검색할 문자 |
* start : (선택) 문자열에서 검색을 시작할 위치, default: 0 |
Return value |
검색할 문자가 처음 나타나는 위치값 or 검색할 문자가 없으면 -1 반환 |
예를들어서,
1 2 3 4 5 6 7 8 | var str = "Pen pineapple apple pen."; // 1. str.indexOf('apple'); // 결과: 8 // 2. str.indexOf('apple', 10); // 결과: 14 | cs |
1. start값이 주어지지 않았으므로 str의 0번째부터 검색을 시작한다. 처음 'apple' 단어가 시작되는 '8' 을 반환한다.
2. start값이 10으로 주어지면 str의 10번째부터 검색을 시작한다. 10번째 이후에 'apple'단어가 시작되는 '14' 를 반환한다.
if, 만약 문자열 뒤에서부터 검색하고 싶다면 ??
예전에 포스팅 먼저 했었는데,, 문자열 뒤에서부터 검색하고 싶다면 lastIndexOf() 를 사용한다.
아래 글로 이동하면 설명과 예제가 있습니당 ~ !!
실전 예제: apple 문자가 있으면 cherry로 변환하기.
1 2 3 4 5 6 7 8 9 10 | var statement = "Pen pineapple apple pen."; // apple 검색 결과 있으면 if (statement.indexOf("apple") != -1) { statement = statement.replace(/apple/gi, "cherry"); } console.log(statement); // 결과: Pen pinecherry cherry pen. | cs |
* if (statement.indexOf("apple") != -1) : 반환값이 '-1' 인지 아닌지를 비교하여 처리한다.
근데근데!!!! statement.replace(/apple/gi, "cherry") 여기서 /apple/gi 이거 뭔데뭔데!!!!!!
슬프게도 자바스크립트에서는 replaceAll()도 지원하지 않는다.
그래서 정규식을 사용하여 문자열 전체 검색을 할 수 있다.
이 방법에 대해서는 다음 포스팅으로 ㄱㄱ!!!!!
↑ ↑ ↑
클릭
오늘은 불금~!!! 한 주도 수고많았습니당 ^_____^
불금♥
' └ Java Script' 카테고리의 다른 글
[JavaScript] GMT 시간 UTC 시간으로 변환하기 (3) | 2019.01.07 |
---|---|
[JavaScript] 자바스크립트에서 replace 를 replaceAll 처럼 사용하여 모든 문자 바꾸기 (feat.정규식) (3) | 2017.08.10 |
[JavaScript] 자바스크립트에서 <!-- //--> 사용 이유와 주석 종류 (2) | 2017.06.28 |
[JavaScript] 이미지 사이즈 (너비X높이) 구하기 (0) | 2016.04.22 |
[Java Script] 복사(Ctrl+C), 붙여넣기(Ctrl+V) 키 막기 (Keycode 알아내기) (0) | 2016.04.12 |