본문 바로가기
└ Java Script

[JavaScript] 자바스크립트에서 특정 문자 검색/찾기, indexOf()

by 짜장이누나 2017. 8. 4.

 

 

 

 

 

 

 

 

 

 

 

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()도 지원하지 않는다.

그래서 정규식을 사용하여 문자열 전체 검색을 할 수 있다.

 

이 방법에 대해서는 다음 포스팅으로 ㄱㄱ!!!!!

 

2017/08/10 - [ └ Java Script] - [JavaScript] 자바스크립트에서 replace 를 replaceAll 처럼 사용하여 모든 문자 바꾸기 (feat.정규식)

               ↑ ↑ ↑

                클릭

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

오늘은 불금~!!! 한 주도 수고많았습니당 ^_____^

불금