JS/JS 공부

[JS] stringMethod 문자 메서드

congs 2023. 4. 13. 15:54

stringMethod

: string = 가장 많이 다루는 데이터 타입

  • index 있음. (0부터 시작)
  • 문자열 데이터 값 내에서는 개행<br> 하는 것은 비추천
  • new String(); 객체타입 선언은 가능하지만 이후 비교에 어려워 비추천
  • .length : 문자열의 총 길이
  • index의 마지막 번호 : lenth-1

 

문자관련 메서드 

: java애서 사용하는 String 메서드와 비슷

   (타 프로그래밍 언어도 비슷)

 

문자 추출 관련 메서드

substr(index, count) : index번지 부터 count개 추출

let str = "apple, banana, orange";

console.log(str.substr(0,5)); //apple
// 0번지부터 5개 추출

 

substring(시작번지,끝번지)

&  slice(시작번지, 끝번지) : 시작번지부터 끝번지-1 까지 문자 추출

-  substring(숫자) 사용시, 숫자번지부터 끝까지 출력!!

let str = "apple, banana, orange";
let startIndex = 0;
let endIndex = 5;
// 마지막 endIndex는 미포함된다는 것을 인지!!

console.log(str.slice(startIndex, endIndex)); //apple
console.log(str.substring(startIndex, endIndex)); //apple

// index부터 끝까지 출력
console.log(str.slice(7)); //apple, banana
 
// -입력시, 뒤에서 부터 추출
console.log(str.slice(-6)); //orange

 

 

문자 대체 메서드 (변경)

replace( oldstr,  newstr ) : 처음으로 매칭되는 문자만 변경 (대소문자 구분 O)

- /문자/i  : 대소문자 구분X

- /문자/g : 문자열 전체에 적용

- /문자/ig : 문자열 전체에 대소문자 구분없이 적용

let text = "Hello Java World! java";

// .replace("찾을 문자", "바꿀 문자")
let newText = text.replace("Java", "Javascript"); 
console.log(newText); // Hello Javascript World! java

// 대소문자 구분X : /문자/i
newText = text.replace(/JAVA/i, "Javascript"); 
console.log(newText); // Hello Javascript World!

// 문자열 전체에 적용 : /문자/g
newText = text.replace(/JAVA/g, "Javascript"); 
console.log(newText); // Hello Java World! java

// 대소문자 구분없이 문자열 전체에 적용 : /문자/ig
newText = text.replace(/JAVA/ig, "Javascript"); 
console.log(newText); // Hello Javascript World! Javascript

 

trim() : 문자열 양측의 공백 제거

let trimtext = "      trim check     ";
console.log(trimtext.trim()); //trim check

 

padStart(전체 문자열 개수, '채울문자') : 앞쪽에 채우기

 &  padEnd (전체 문자열의 개수, '채울문자') : 뒤쪽에 채우기

: 예) 문자값의 힌트, 980906-*******, 서울시 ****** 010

let padText = "abc";
console.log(padText.padStart(5,'*')); // **abc
console.log(padText.padEnd(10,'-')); // abc-------

 

예) 주민등록번호 표현

// 980906-2****** 출력
console.log(num.replace(num.slice(8),'******'));
console.log(num.slice(0,8).padEnd(num.length,'*'));
        
// 주민등록번호로 남/여 구분
if(num.substr(7,1)%2 == 0 ){ 
    // num.charAt(num.indexOf("-")+1); 동일
    console.log('여자');
} else {
	console.log('남자');
}

console.log( (num.charAt(7)%2==0)? '여자':'남자');

 

 

charAt(index) : 해당 index 문자 추출

let num = '980906-2000000'
console.log( (num.charAt(7)%2==0)? '여자':'남자');

 

indexOf("str") : 문자열의 위치를 반환

&  lastIndexOf("str") : 문자열의 마지막 위치를 반환

 

예) 파일명 추출

let fullFileName = "20230413_javascript.string_method.html";

// 파일명 추출 string_method
console.log(fullFileName.substring(fullFileName.indexOf('.')+1,fullFileName.lastIndexOf('.')));

// 파일 작성일자 추출 20230413
console.log(fullFileName.slice(0,fullFileName.indexOf('_')));

// 확장자 추출 html
console.log(fullFileName.slice(fullFileName.lastIndexOf('.')+1));

 

startsWith("str") : 지정 문자열이 탐색대상 문자열에서 시작에 존재하는지 확인

  &  endsWith("str") : 지정 문자열이 탐색대상 문자열에서 끝에 존재하는지 확인

: 리턴은 true / false

 예) 탐색하는 경우 해당 자료형이 있는지 확인 .png

 

 

 

 

 

 

 

'JS > JS 공부' 카테고리의 다른 글

[JS] 조건문 if, switch / 널병합 연산자 ??  (0) 2023.04.14
[JS] Date 날짜 관련 함수  (0) 2023.04.13
[JS] event_prompt / confirm / alert 사용  (0) 2023.04.13
[JS] event_input 데이터 받기  (0) 2023.04.12
[JS] event 객체  (0) 2023.04.12