Javascript [ String ]

양혜정·2024년 4월 7일
0

javascript_web

목록 보기
10/81

String

  • 쌍따옴표( " ) 또는 홑따옴표( ' ) 사용하여 표현

  • 문자열의 길이
    변수명.length


.slice

  • "문자열".slice(startIndex, endIndex)
  • startIndex 부터 시작하여 endIndex 앞까지
  • 역방향의 경우 ' - ' 를 붙여주면 된다.
const str = "jjoung";
let part = str.slice(1,4);	// 1번 index 부터 4번 index 앞
							// jou
part = str.slice(-5,-1);	// oung
// 5번 index 부터 1번 index 오기 전(2번 index)까지

.substring

  • "문자열".substring(startIndex, endIndex)
  • startIndex 부터 시작하여 endIndex 앞까지
  • .slice 와의 차이점 : 역방향 불가
const str = "jjoung";
let part = str.substring(2,3);	
// 2번 index 부터 3번 index 앞까지
// j

.substr

  • "문자열".substr(startIndex, length)
  • startIndex 부터 length 만큼
  • 역방향의 경우 startIndex 에 '-'를 붙여주면 된다.
  • length 가 없는 경우 끝까지 출력된다.

주의 . deprecated 된 상태이다.

※ deprecated 이란?
소프트웨어나 기술에서 특정 기능이나 방법이 더 이상 권장되지 않거나 곧 없어질 것

다른 언어와 비교

  • 자바 : substring
  • 오라클 : substr
  • 자바스크립트 : slice, substring, substr(deprecated)

.replace

  • "문자열".replace("기존문자열","새로운문자열")
  • "기존문자열" 은 대소문자를 구분
  • 첫번째로 나오는 "기존문자열" 만 "새로운문자열"로 변경
  • 대소문자를 구분하지 않으려면 정규표현식 사용

    정규표현식

    주의. - "" 을 사용하지 않는다.
    /문자/i
    => 대소문자 구분하지 않고 첫번째로 나오는 기본문자열 변경
    /문자/gi
    => 대소문자 구분하지 않고 모든 기존문자열 변경

const str = "jjoung blog! / velog.io/@jjoung-2j"
let new_str = str.replace("jjoung","쫑쫑이");
// 쫑쫑이 blog! / velog.io/@jjoung-2j
new_str = str.replace(/jjoung/i, "쫑쫑이");
// 쫑쫑이 blog! / velog.io/@jjoung-2j
new_str = str.replace(/jjoung/gi, "쫑쫑이");
// 쫑쫑이 blog! / velog.io/@쫑쫑이-2j

.toUpperCase()

  • "문자열".toUpperCase()
  • 문자열을 모두 대문자로 변경

.toLowerCase()

  • "문자열".toLowerCase()
  • 문자열을 모두 소문자로 변경

concat()

  • 문자열1.concat("사이에 들어갈 말 또는 공백",문자열2)
  • 문자열을 합쳐준다.
  • + 을 사용해도 된다.
const text1 = "jjoung";
const text2 = "blog";
const text = text1.concat(" ", text2);

.trim()

  • "문자열".trim()
  • 문자열의 좌우 공백을 제거

.padStart

  • "문자열".padStart(확보길이,'채울글자')
  • ECMAScript 2017 feature
  • 오라클의 lpad 와 비슷
const str = "jjoung";
let new_str = str.padStart(10, '*');
// ****jjoung
// 10 칸 길이 확보 후 문자열을 넣고
// 문자 앞에 남은 칸 만큼 채울 글자 넣기

.padEnd

  • "문자열".padEnd(확보길이,'채울글자');
  • ECMAScript 2017 feature
  • 오라클의 rpad 와 비슷
const str = "jjoung";
let new_str = str.padEnd(10,'*');
// jjoung****
// 10 칸 길이 확보 후 문자열을 넣고 
// 문자 뒤에 남은 칸 만큼 채울 글자 넣기

.charAt

  • "문자열".charAt(index)
  • 문자열에서 특정 index 의 위치한 문자 출력

.indexOf

  • "문자열".indexOf("찾고자하는문자열", 출발인덱스)
  • 최초로 나오는 위치를 출력
  • 찾고자하는 문자열이 없을 경우 ' -1 ' 출력
  • 출발인덱스가 없을 경우 0 으로 인식
  • 대소문자 구별한다.

.lastIndexOf

  • "문자열".lastIndexOf("찾고자하는문자열", 출발인덱스)
  • 뒤에서 부터 검색하는데 최초로 나오는 위치 출력
  • 찾고자하는 문자열이 없는 경우 ' -1 ' 출력
  • 출발인덱스가 없을 경우 '문자열의길이 - 1' 으로 인식
  • 출발인덱스에 음수가 오면 0으로 처리
  • 대소문자 구별
  • "문자열".search("찾고자하는문자열")
  • 문자열에서 찾고자 하는 문자열이 최초로 나오는 위치(인덱스) 값 출력
  • 정규표현식 가능
const text = "자바 자바스크립트 java공부중";
let index = text.search("자바");		// 0
index = text.search(/[A-Z]/gi);		// 10
// g : 모든 문자와 여러줄 일치
// i : 대소문자 구분 X

.includes

  • "문자열".includes("찾고자하는문자열")
  • "문자열"에서 "찾고자하는문자열" 이 포함되면 true, 그렇지 않으면 false
  • ES6(2015)

.startWith

  • "문자열".startWith("찾고자하는문자열")
  • "문자열"이 찾고자하는문자열로 시작하면 true, 그렇지않으면 false
  • ES6(2015)

.endWith

  • "문자열".endWith("찾고자하는문자열")
  • "문자열"이 찾고자하는문자열로 끝나면 true, 그렇지 않으면 false
  • ES6(2015)

자바스크립트의 배열

  • 자바스크립트의 배열은 [] 이다.
var food_arr = ["라면","떡볶이","김밥","치킨","피자"];
  • 종류에 상관없이 배열이 가능하다.
var arrr = [123,"쫑쫑이",{userid:"jjoung", age:26}];
// 자바스크립트는 number, string, object 상관없이 배열 가능
  • 배열의 길이 는 .length 이다.

정리

  • 06_string
    -> 01_string.html, 01.js, 02_string_method_1.html, 02.js, 03_string_method_2.html, 03.js, 04_string_method_3, 04.js, 05_string_method_4.html, 05.js, 06_string_template.html, 06.js

0개의 댓글

관련 채용 정보