22.01.20

ujinujin·2022년 1월 20일
0

오늘의 공부

목록 보기
1/8
오늘부터 28일 동안 프로그래머스에 있는 Lv1 & Lv2 문제를 하루에 세 개씩 js로 풀거다. 왜냐면 프로그래머스에서 5개월짜리 프론트엔드 과정 모집하는데 Lv2는 무난하게 풀 수 있는 수준이어야 한다고 해서...

🐂 한 달 동안 홧팅!!!


첫 번째 문제: Lv1 신규아이디 추천

처음에 정규표현식으로 풀어야하는 줄 모르고 벙쪄있다가 엄청난 구글링을 통해 정규표현식으로 밖에 할 수 없다는 것을 알아서 부랴부랴 정규표현식 공부했다.

1. 대소문자 변환

str.toUpperCase()
str.toLowerCase()

2. 정규표현식

/표현식/플래그

/[a-z0-9]/	//모든 알파벳 소문자, 숫자
/[^a-z]		// 모든 알파벳 소문자가 아닌 문자들 (^: 캐럿기호)
/^문자/		// 문자열 첫 글자가 해당 문자인지 판단
/문자$/		// 문자열 마지막 글자가 해당 문자인지 판단
/^$/		// 빈 문자열인지 판단
/\특수기호/	// . 이나 ? 같은 특수기호들을 문자 그대로의 의미를 가지고 쓰고 싶을 때
/\w/		// 알파벳, 숫자, 언더스코어(_)
/문자{n,}/	// 해당 문자가 n번 이상 반복됐는지 판단

플래그

  • g: global의 약자로 모든 문자를 검색한다
  • i: ignore case의 약자로 대소문자를 구분하지 않는다
  • m: multi line의 약자로 여러 행의 문자열에 대해서 검색한다

/표현식/g 처럼 표현식 뒤에 쓰면되고 /표현식/gi 처럼 여러 개도 사용할 수 있다.

RegExp

let fruits = "applebananamango"
let regex = new RegExp("apple", "g");
fruits = fruits.replace(regex, "berry")		// fruits = "berrybananamango"

원하는 표현식을 이렇게 만들어서 쓸 수 있다는게 진짜 편리한 것 같다!!

3. replace

str.replace("찾을 문자열", "변경할 문자열")		//문자열 변경

//예
let myname = "ddoondang";
myname = myname.replace("d", "A");   // myname = Adoondang

replace는 가장 첫 번째로 나오는 문자열만 변경하기 때문에 위의 예제에서 첫 번째로 나온 d를 제외한 다른 d들은 변경되지 않은 것을 알 수 있다. 이런 경우를 위해 정규표현식을 사용,,!

4. repeat

str.repeat(n)		// 문자열 반복

let myname = "ddoondang";
console.log(myname.repeat(2))   //ddoondangddoondang

다른 사람들꺼 코드 보다가 알게됐다. 유용하게 쓰일 듯

5. substr(idx, length);

let str = "abcdefg";
str.substr(1,);		//bcdefg
str.substr(1,3);	//bcd
profile
백수와 취준생 그 사이 어디

0개의 댓글