Posts 모던 자바스크립트 #5.3. 문자열
Post
Cancel

모던 자바스크립트 #5.3. 문자열

모던 JavaScript 튜토리얼을 따라가면서 정리합니다.

  • 자바스크립트에서는 UTF-16을 사용해 문자열을 코딩한다.

  • \n을 사용할 수 있다.

  • \u...를 사용하면 해당 문자의 유니코드를 사용해 글자를 만들 수 있다.

  • 문자열 내의 글자 하나를 얻으려면 대괄호 []를 사용한다.

  • 부분 문자열을 얻으려면 slicesubstring을 사용한다.

    • str.slice(start[, end])

      문자열의 start부터 end 까지(end 미포함)를 반환한다.

      두 번째 인수가 생략된 경우 명시한 위치부터 문자열 끝까지 반환한다.

      start와 end는 음수가 될 수 있다. 음수를 넘기면 문자열 끝에서부터 카운팅을 시작한다.

    • str.substring(start [, end])

      start와 end 사이에 있는 문자열을 반환한다.

      start가 end보다 커도 괜찮다.

      substring은 음수 인수를 허용하지 않는다. 음수는 0으로 처리된다.

    • str.substr(start [, length)

  • 소문자로 바꾸려면 toLowerCase, 대문자로 바꾸려면 toUpperCase를 사용한다.

  • 부분 문자열의 위치를 얻으려면 indexOf를 사용한다.

  • 부분 문자열 여부만 알고 싶다면 include/startsWith/endsWith를 사용한다.

  • 특정 언어에 적합한 비교 기준을 사용해 문자열을 비교하려면 localeCompare를 사용한다. 이 메서드를 사용하지 않으면 글자 코드를 기준으로 문자열이 비교된다.

  • str.trim(): 문자열 앞과 끝의 공백 제거

  • str.repeat(n): 문자열을 n번 반복

과제

첫 글자를 대문자로 변경하기

1
unFirst("john") = "John";

1
2
3
4
5
function unFirst(str) {
  // 빈 문자열인지 확인
  if (!str) return str;
  return str[0].toUpperCase() + str.slice(1);
}

스팸 문자열 걸러내기

1
2
3
checkSpam('buy ViAgRA now') == true
checkSpam('free xxxxx') == true
checkSpam("innocent rabbit") == false

내가 쓴 답

1
2
3
4
5
6
7
function checkSpam(str) {
  let lowerStr = str.toLowerCase();
  if (lowerStr.include('viagra') || lowerStr.include('xxx')) {
    return true;
  }
  return false;
}

정답

1
2
3
4
function checkSpam(str) {
  let lowerStr = str.toLowerCase();
  return lowerStr.include('viagra') || lowerStr.include('xxx'); 
}

문자열 줄이기

1
2
3
truncate("What I'd like to tell on this topic is:", 20) = "What I'd like to te…"

truncate("Hi everyone!", 20) = "Hi everyone!"

내가 쓴 답

1
2
3
4
5
6
function truncate(str, maxlength) {
  if (str.length() > maxlength) {
    return str.slice(0, maxlength - 1) + "...";
  }
  return str;
}

정답

1
2
3
4
function truncate(str, maxlength) {
  return str.length() > maxlength ? 
    str.slice(0, maxlength - 1) + "..." : str;
}

숫자만 추출하기

1
alert( extractCurrencyValue('$120') === 120 ); // true

1
2
3
function extractCurrencyValue(str) {
  return +str.slice(1);
}
This post is licensed under CC BY 4.0 by the author.

이것이 안드로이드다 with 코틀린 #1 코틀린 기본문법: 4. 배열과 컬렉션

이것이 안드로이드다 with 코틀린 #1 코틀린 기본문법: 5. 반복문

Loading comments from Disqus ...