javascript_문자열

song·2023년 9월 6일

JavaScript

목록 보기
13/21

문자열 찾기

  • 특정 문자열에서 필요한 위치에 있는 문자(열)을 구한다.
  • 특정 위치부터 잘라낼수도 있다.
  • 특정 문자를 다른 문자로 치환
  • 0번째 부터 시작
  • 글자수 세기 : .length

1. 특정 문자의 인덱스번호 찾기

  • indexOf : (앞에서부터) 첫번째 특정 문자의 인덱스번호 찾기
  • lastIndexOf : (앞에서부터) 마지막번째 특정 문자의 인덱스번호 찾기
    let string = "ABCDEFGHIJKLMNOPQRSTUVWXDYZ";
    console.log("D 위치: " + string.indexOf("D")); -> D 위치: 3
    console.log("D 위치: " + string.lastIndexOf("D")); -> D 위치: 24

2. 특정번호로 문자 찾기

  • charAt(n) : n번째 문자 찾기
    console.log("3번째: " + string.charAt(3)); -> 3번째: D

3. n번째부터 문자 찾기

n번째부터 끝까지

  • .slice(n)
  • .substring(n)
  • .substr(n)
  • 다 똑같이 n번째부터 끝까지 가져올 수 있음.
    console.log("3~: " + string.slice(3));
    console.log("3~: " + string.substring(3));
    console.log("3~: " + string.substr(3));
    -> 3~: DEFGHIJKLMNOPQRSTUVWXDYZ

n번째부터 n번째까지

  • .slice(n, n) : n번째부터 n번째까지. 배열도 자를 수 있다.
    • slice(0, -1)로 쓴다면 0부터 끝까지 가져오는 데 뒤에 하나빼고 가져온다는 뜻.
  • .substring(n, n) : n번째부터 n번째까지.
  • .substr(n, n) : n번째부터 n개.
    console.log("3~5: " + string.slice(3,5)); -> 3~5: DE
    console.log("3~5: " + string.substring(3,5)); -> 3~5: DE
    console.log("3~5: " + string.substr(3,5)); -> 3~5: DEFGH

배열 자르기

  • slice는 배열도 자를수 있다.
    let arr = [1,2,3,4,5];
    console.log(arr.slice(2,4)); -> [3, 4]

★4. 특정 문자를 기준으로 문자열 자르기 - split

  • 문자 자른 후에 배열 방식으로 저장한다.
    console.log(string.split("D")); -> ['ABC', 'EFGHIJKLMNOPQRSTUVWX', 'YZ']
    console.log(string.split("D")[0]); -> ABC
    console.log(string.split("D")[1]); -> EFGHIJKLMNOPQRSTUVWX
    console.log(string.split("D")[2]); -> YZ

  • let tmp = string.split("D"); -> ['ABC', 'EFGHIJKLMNOPQRSTUVWX', 'YZ']

★5. 문자열 바꾸기 - replace

  • .replace(원래 문자, 바꾸려는 문자) : 맨 첫번째꺼 하나만 바꿈
    console.log(string); -> ABCDEFGHIJKLMNOPQRSTUVWXDYZ
    console.log(string.replace("D","가나다")); -> ABC가나다EFGHIJKLMNOPQRSTUVWXDYZ
  • .replaceAll(원래 문자, 바꾸려는 문자) : 원래 문자가 존재하는 부분마다 다 바꿈
    console.log(string.replaceAll("D","가나다")); -> ABC가나다EFGHIJKLMNOPQRSTUVWX가나다YZ

6. 대소문자 변환 / 숫자 콤마

  • .toLowerCase() : 소문자로 변환.
  • .toUpperCase() : 대문자로 변환.
  • .toLocaleString("ko") -> 숫자 000,000,000
    • ko는 한국에서 숫자 콤마 찍는 방식으로 찍기.

7. 전체 문자열에서 특정 문자(열) (있는지 없는지만) 찾기

  • .match("찾으려는 문자열")

    let sp = ["android","iphone","ipad"];
    let nu = navigator.userAgent;
    
    document.write(nu)
    document.write("<br>");
    document.write(nu.toLocaleLowerCase())
    
    for(let i=0; i<sp.length; i++) {
        console.log(navigator.userAgent.toLocaleLowerCase().match(sp[i]))
        if(navigator.userAgent.toLocaleLowerCase().match(sp[i])) {
            console.log(i + ":"+ sp[i])
            location.replace("https://m.naver.com")
        }
    }
    
    console.log("여기: " + string.match("DE"))

    -> navigator.userAgent : 현재 접속한 브라우저정보를 볼 수 있음.

    현재 접속한 브라우저가 android, iphone, ipad인경우 m.naver.com으로 변환됨.
    모바일인 경우 m. 모바일로 변환하는 코드임.

profile
계속 나아가기

0개의 댓글