본문 바로가기

프로그래밍/javascript

[javascript] 자바스크립트 test, search, replace

 

코테 문제를 풀다가 정리하고 싶었던 자바스크립트 세가지 함수에 대해서 정리합니다!

 

 

 

 

[edabit] 자바스크립트 코테 연습 - 1 (feat.test함수)

자바스크립트 공부도 할겸하여 코테 공부시작! 문제 사이트는 edabit이라는 외국 사이트입니다🧐 Edabit // Learn to Code with 10,000+ Interactive Challenges Our bite-sized challenges are a shortcut throug..

lily-choi.tistory.com

 

 

 

자바스크립트 정규식에서 자주 사용되는 test, search, replace함수입니다😌

 

 

 

 

 

1. test( )

문장안에서 내가 찾고자하는 문자가 포함이 되어있으면 true를 리턴해준다.

 

 

let testText = /apple/;  // 찾고자하는 문자를 정규식 //안에 넣어줍니다.
let findText = "let's eat apple!!!!";


if(testText.test(findText)){
	console.log("사과 찾았습니다ㅎ")
}


// 삼항연산자로 작성
const answer = (testText.test(findText)) ? "사과발견" : "사과없음";
console.log(answer)

 

 

 

또한, 아래와 같이 문자, 숫자, 배열 모두 가리지않고 포함하는지 궁금하였는데 아주아주 잘 찾아줍니다. 

 

 

 

let testText = /apple/;  // 문자도 가능
let findText = ['바나나', 'apple', 3];


let testText = /3/;  // 숫자도 가능
let findText = ['바나나', 'apple', 3]; // 섞여있는 배열도 가능

 

 

 

콘솔창에 한번 출력해보았습니다. 

 

 

 

 

콘솔창에 출력해본 모습

 

 

 

 

 

2. search( )

문장안에서 내각 찾고자하는 문자의 위치 즉 인덱스 값을 리턴해준다.

 

 

let testText = /apple/; 
let findText = "let's eat apple!!!!";

const answer = findText.search(testText);
console.log(answer)

 

 

 

test 함수와 굉장히 흡사했지만 콘솔창에 쳐보다가 헷갈릴 것 같은 부분이 있었습니다.

 

 

 

 

testText.test(findText)  

: 찾고자하는 문자를 test함 findText안에 포함이 되었는지 

 

findText.search(testText)

: 이 문자열에 search함 찾고자하는 문자가 몇번째에 포함이 되어있는지 

 

 

 

 

 

 

 

위에 설명처럼 찾고잦하는 문자의 위치가 달랐습니다.

 

 

 

 

무튼 콘솔창에 출력해본 결과 아래처럼 인덱스 0부터 시작하여 해당 문자의 위치를 리턴해줍니다. 

 

 

인덱스 값 10이 콘솔창에 찍힌 모습

 

 

 

 

3. replace( )

문장안에서 원하는 문자를 바꿀 때 사용한다.

 

 

 

let findText = "let's eat apple!!!!";

let newText = findText.replace("apple", "banana");  // 1. 바꾸고자하는 문자   2. 새롭게 넣고싶은 문자

console.log(newText);

 

 

 

replace 의 경우 첫번째 인자값으로 기존에 대체하고 싶은 부분의 문자, 두번째 인자값으로 새롭게 대입하고 싶은 문자를 넣습니다. 

 

 

 

이번에도 콘솔창에 입력해봅니다.

 

 

 

바나나로 대체되어 출력된 모습

 

 

 

 

이렇게 세개 함수에 대해서 정리해보았습니다!

 

 

 

 

 

 

 

'프로그래밍 > javascript' 카테고리의 다른 글

[javascript] 자바스크립트 filter(Boolean)  (0) 2022.06.25