String()

프최's log·2020년 8월 3일
0

Javascript

목록 보기
3/26

※ 공부진행으로 내용은 지속적으로 수정 진행 중

String()

String(문자열)은 일련의 문자를 다룬다.
문자열의 길이(length)를 체크하거나, 연산자(+, +=)를 이용해 단어끼리 연결해서 문자열을 만들기도 한다. 위치를 특정할 수도 있으며, 특정 문자열을 잘라내거나 대체할 수 있다.

  • 모든 string method는 immutable하다(★)

method

1. 문자열 생성

const newStr1 = 'hello world';
const newStr2 = new String('hello');

2. 문자열 접근

  • charAt(인덱스값)
    : 인덱스값에 0 (문자열의 시작점)부터 str.length-1(문자열의 끝) 사이의 정수를 넣어주면 해당 문자를 화면에 나타낸다.

    ? 인덱스값을 지정하지 않으면 기본'0'이어서 첫번째 문자열을 제공한다.
    ? 문자열의 길이를 넘치면, ''을 표시한다.
    ? 공백도 위치로 인지하여 값을 표시할 수 있다.

let newStr = 'red banana';
let getChar = newStr.charAt(0);
>'r'
// 문자열에서 특정 문자를 찾아서 알려준다.
  • indexOf() : 찾고자하는 문자열의 위치

  • lastIndexOf() : 찾고자하는 문자열의 위치를 뒤에서부터 찾아 알려준다.
    ★ 위 두 메소드 모두 대소문자를 구분한다.

  • match()

    • 문자열이 정규식(RegExp)과 매치되는 부분을 검색
    • 문자열이 정규식과 일치 시, 일치하는 전체 문자열을 포함한 배열 반환, 없으면 null 반환
    • 매개변수가 문자열/숫자일 경우, 내부 정규식을 이용하여 정규식 변환 후 결과를 반환한다.
var str = "Nothing will come of nothing.";

str.match("will");
> ["will", index: 8, input: "Nothing will come of nothing.", groups: undefined]

3.문자열 비교

  • localeCompare()

4.문자열 타입으로 변환

  • 변수.toString();
  • String(변수);
  • ${value} : {arr.join('')}안에는 함수가 들어갈 수도 있다.
let a = 1234567;
a.toString();
> "1234567"
String(a);
> "1234567"
`${a}`
> "1234567"
// 숫자를 문자열로 변환시켜서 출력했다.

5.문자열 길이 구하기

  • 문자열.length
let str = 'hello'
str.length
> 5 
// hello 문자열의 길이는 5이다.

6.특정 문자열 값 대체하기

  • 문자열.replace('찾을값','대체할 값');
let str = 'hello world';
str.replace('hello', 'hi');
> "hi world"
// 'hello' 문자열을 'hi'로 대체했다.

7.특정 문자열 찾기

  • 문자열.slice('시작인덱스', '끝나는인덱스')
    : 시작인덱스값부터 끝나는 인덱스 전의 값을 복사한다.(범위설정) - 원본 변환 X
let word = 'let it go'
let copyWord = word.slice(4,6);
copyWord;
> "it"
// word 안에서 it을 복사했다.
// 이때, word에서는 값이 삭제되지 않았다.
  • 문자열.substring('시작인덱스','끝나는인덱스')
    : 찾고자하는 문자열을 보여준다.

8.문자열을 배열에 넣기

  • 문자열.split(기준점);
    : 공백 또는 ,(쉼표)를 기준으로 문자열을 단어로 분리해 배열에 위치시킨다.
    ? 아무런 값을 넣지 않으면 문자열을 낱개로 분리해서 넣는다.(공백 포함)
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
//words = ["The", "quick", "brown", ..."lazy", "dog."]
const chars = str.split('');
//chars = ["T","h","e"," ", ... "g",","]

9.대소문자 변경하기

  • 문자열.toLowerCase();
    : 전체 문자열을 소문자로 변경한다,
  • 문자열.toUpperCase();
    : 전체 문자열을 대문자로 변경한다.

10.그외

  • repeat('반복횟수') : 문자열 반복해서 붙이기
    • 0이 들어가면 '' 내보낸다.
  • trim()
    • 문자열 양 끝의 공백(whitespace)을 제거한 새로운 문자열을 반환한다.
let greeting = '   Hello World   ';
greeting.trim();
> "Hello World"

//모든 공백 제거 
function strTrim(str){
  let newStr = '';
  // 문자열의 처음 또는 마지막이 공백이면 제거한다.
  if (str[0] === ' ' || str[str.length-1] === ' '){
    newStr = str.replace(" ", "")
    return strTrim(newStr);
  }
  else { 
    newStr = str.replace(" ", " ")
  }
  return newStr;
}

strTrim("                Hello world               ");
>"Helloworld"

참조사이트 : MDN String
코드스테이츠

profile
차곡차곡 쌓아가는 나의 개발 기록

0개의 댓글