달나라 노트

Google Apps Script : replace (문자 대체하기, 문자 변경하기) 본문

Google Apps Script

Google Apps Script : replace (문자 대체하기, 문자 변경하기)

CosmosProject 2022. 12. 1. 20:58
728x90
반응형

 

 

 

String 객체의 replace method는 특정 문자나 패턴을 찾아서 원하는 문자로 바꿔주는 기능을 합니다.

 

 

Syntax

String.replace(old_text, new_text)

 

replace method는 String에 적용할 수 있으며 2개의 parameter를 받습니다.

 

- old_text

String에서 찾을 기존 text입니다. 여기는 text 대신 regular expression도 들어갈 수 있습니다.

 

 

- new_text

새로 변경할 텍스트입니다.

 

 

 

 

 

 

function myFunction(){
  var test_string = 'Apple';

  Logger.log(test_string.replace('ppl', 'abc'));
  Logger.log(test_string.replace(/[a-eA-E]/, 'z'));
  Logger.log(test_string.replace(/[^a-eA-E]/, 'z'));
}


-- Result
Aabce
zpple
Azple

 

- test_string.replace('ppl', 'abc')

test_string에 replace method를 적용했습니다.

parameter를 보면 test_string에서 ppl이라는 글자를 찾아서 abc로 바꾸라는 의미가 됩니다.

 

Apple에서 ppl을 abc로 바꾸면 Aabce가 되죠.

 

 

 

- test_string.replace(/[a-eA-E]/, 'z')

이번엔 old_text에 regular expression을 적용해봤습니다.

/[a-eA-E]/은 a, b, c, d, e, A, B, C, D, E를 의미합니다.

따라서 a, b, c, d, e, A, B, C, D, E 이 문자를 찾아 z로 바꾸라는 의미이죠.

 

Apple

Apple에서 위 문자를 찾아보면 A와 e가 발견됩니다.

근데 결과를 보면 zpple입니다.

여기서 알 수 있는 점은 old_text에서 찾아지는 텍스트가 여러 개라고 하더라도 그 중 가장 왼쪽에 있는 문자에 대해서만 replace가 적용된다는 것입니다.

 

 

 

- test_string.replace(/[^a-eA-E]/, 'z')

/[^a-eA-E]/은 a, b, c, d, e, A, B, C, D, E를 제외한 모든 문자를 의미합니다.

따라서 a, b, c, d, e, A, B, C, D, E를 제외한 문자를 찾아 z로 바꾸라는 의미이죠.

 

Apple

Apple에서 패턴에 맞는 문자를 찾아보면 p, p, l이 발견됩니다.

그런데 결과를 보면 Azple입니다.

마찬가지로 p, p, l 3개의 문자가 찾아졌지만 replace가 적용되는 것은 가장 왼쪽에 있는 문자에만 replace가 적용됩니다.

 

 

 

 

 

 

728x90
반응형
Comments