어제 오늘 내일

[Javascript] 문자열에서 마지막 문자 제거하는 4가지 방법 본문

IT/Javascript

[Javascript] 문자열에서 마지막 문자 제거하는 4가지 방법

hi.anna 2022. 6. 17. 08:00

 

Javascript에서

문자열의 마지막 문자를 제거하는 4가지 방법을 정리하였습니다.

  • slice()
  • substring()
  • substr()
  • replace()

 

slice()

slice() 함수는

문자열의 일부를 잘라서 새로운 문자열을 리턴합니다.

str.slice(startIndex[, endIndex])

 

  파라미터  

  • startIndex (필수 입력값)
    • 잘라낼 문자열의 시작 index입니다.
    • 0부터 시작합니다.
    • 만약, 이 값이 음수이면, [문자열 길이 + startIndex]로 계산되어 실행됩니다.
      • 예를 들어, 위 예제에서 startIndex가 -3이면,
        이것은 (4+(-3)), 즉, 1과 같습니다.
  • endIndex (optional)
    • 문자열을 잘라낼 종료 index입니다.
    • 0부터 시작합니다.
    • 문자열이 추출될 때는, 이 종료 index 직전 문자까지만 추출됩니다.
      즉, endIndex의 문자는 추출되지 않습니다.
    • endIndex가 생략되면, 문자열의 마지막까지 추출됩니다.
    • 만약, 이 값이 음수이면, [문자열 길이 + endIndx]로 계산되어 실행됩니다.
      • 따라서, 위 예제에서는 (4+(-1)), 즉, 3과 같습니다.
      • 문자열의 길이가 다양한 경우, 
        두번째 파라미터 값을 3으로 지정하지 않고
        -1로 지정하면
        항상 문자열의 마지막 index를 가리키게 됩니다.

  예제  

const str = 'abcd';

// 마지막 문자 자르기 (slice)
const new_str = str.slice(0, -1);

// 결과 출력
document.write(str + '<br>');  // abcd
document.write(new_str); // abc

 

str.slice(0, -1);

이 구문은

문자열의 0번째 index부터 index 3 이전까지의 문자열을 잘라서 리턴합니다.

(두 번째 파라미터인 -1은 '4+(-1)'로 계산되어 3입니다.)

이때, 원본 문자열(str)은 변경되지 않습니다.

 

 

 

substring()

substring() 함수는

파라미터로 전달받은 시작 index부터 종료 index 전까지의 문자열을 잘라서 반환합니다.

str.substring(startIndex[, endIndex])

 

  파라미터  

  • startIndex (필수입력값)
    • 0부터 시작합니다.
    • startIndex부터 문자열을 자릅니다.
    • 음수가 입력되면, 0으로 처리됩니다.
  • endIndex (optional)
    • 0부터 시작합니다.
    • endIndex 이전 글자까지 문자열을 자릅니다.
    • 이 값이 입력되지 않으면, startIndex부터 문자열의 끝까지 문자열을 자릅니다.
    • 문자열의 길이보다 큰 값이 입력되면, 자동으로 문자열의 길이(str.length)로 지정됩니다.

 

  예제  

const str = 'abcd';

// 마지막 문자 자르기 (substring)
const new_str = str.substring(0, str.length-1);

// 결과 출력
document.write(str + '<br>');  // abcd
document.write(new_str); // abc

 

str.substring(0, str.length - 1);

마지막 문자열만 잘라내기 위해서

substring()의 두 번째 파라미터 값을

'문자열의 길이 - 1'로 지정하였습니다.

 

 

substr()

substr() 함수는

문자열에서 시작 index부터 지정된 문자수만큼 잘라냅니다.

str.substr(startIndex[, length]) 

substr()과 비슷해 보이지만, 2번째 파라미터의 의미가 잘라낼 문자열의 길이라는 점이 다릅니다.

 

  파라미터  

  • startIndex (필수 입력)
    • 잘라낼 문자열의 시작 index입니다.
    • 0부터 시작합니다.
    • 만약, 음수가 입력되면, [문자열 길이 + startIndex]로 계산되어 취급됩니다.
      • 예를 들어, 위 예제에서 startIndex가 -3으로 지정되면,
        '4+(-3) = 1', 즉, index 1로 취급됩니다.
  • length (optional)
    • 잘라낼 문자열의 길이입니다.
    • 이 값을 지정하지 않으면, startIndex부터 문자열의 끝까지를 잘라냅니다.
    • 이 값이 0 또는 음수이면, 빈 문자열을 리턴합니다.

  예제  

const str = 'abcd';

// 마지막 문자 자르기 (substr)
const new_str = str.substr(0, str.length-1);

// 결과 출력
document.write(str + '<br>');  // abcd
document.write(new_str); // abc

 

str.substr(0, str.length - 1);

문자열의 첫 번째 index부터 '문자열 길이 - 1'만큼 문자열을 잘라냅니다.

마지막, 문자는 제외하고 문자열이 리턴됩니다.

 

 

replace()

replace() 함수는

패턴과 변경(또는 문자열)할 문자열(또는 함수)을 파라미터로 입력받고,

패턴이 일치하는 부분을 새로운 문자열로 변경하여

새로운 문자열을 리턴합니다.

str.replace(pattern 또는 str, newStr 또는 function)

  파라미터  

  • pattern 또는 str
    • newStr 또는 function에서 처리될(즉, 변경될) 문자열을 찾기 위한 정규식 패턴 또는 문자열
    • 문자열이 입력된 경우, 첫 번째로 일치하는 문자열만 새로운 문자열로 대체됩니다.
  • newStr 또는 function
    • 첫번째 파라미터를 대체할 문자열 또는 함수

  예제  

const str = 'abcd';

// 마지막 문자 자르기 (replace)
const new_str = str.replace(/.$/, '');

// 결과 출력
document.write(str + '<br>');  // abcd
document.write(new_str); // abc

 

str.replace(/.$/, '');

첫번째 파라미터로 정규식을 입력받았습니다.

 

정규식 '/.$/'

  • : 정규식 전체를 둘러싸고 있습니다. 정규식의 시작과 끝을 나타냅니다.
  • . : 1개의 문자를 나타냅니다.
  • $ : 문자열의 끝을 나타냅니다.

따라서 위 정규식은

마지막 1개의 문자를 나타냅니다.

즉, 위 구문은

마지막 1개의 문자를 ''(공백)으로 변환합니다.

 


 

slice(), substring(), substr(), replace() 함수를 사용하여

Javascript에서 문자열의 마지막 문자를 삭제하는 방법을 알아보았습니다.

 

 

 

 

반응형
Comments