일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Github
- Google Excel
- Redshift
- matplotlib
- 파이썬
- hive
- gas
- Apache
- list
- c#
- math
- array
- Excel
- SQL
- google apps script
- Python
- PostgreSQL
- Google Spreadsheet
- dataframe
- string
- numpy
- Mac
- GIT
- PySpark
- Kotlin
- Tkinter
- Java
- PANDAS
- django
- Today
- Total
달나라 노트
Google Apps Script : substring, slice (문자열 자르기) 본문
Google Apps Script : substring, slice (문자열 자르기)
CosmosProject 2022. 11. 30. 20:18
String 객체의 substring method는 문자열에서 시작 위치 ~ 끝 위치 까지의 문자를 잘라서 return합니다.
String 객체의 slice method도 substring method와 동일한 기능을 가집니다.
사실 관련 내용을 찾아보면 두 method에 약간 차이가 있는 것 같습니다.
substring method = 특정 위치(index)에서 시작해서 특정 길이만큼 문자를 잘라 return한다.
slice method = 특정 위치(index)에서 시작해서 끝 위치(index)까지 문자를 잘라 return한다.
위 두 설명을 보면 문자를 자를 때 어떤 위치까지 자를 것이냐 어떤 길이만큼 자를 것이냐라는 차이가 있죠.
근데 이상하게도 지금 글을 쓰는 시점을 기준으로 실제 GAS 편집기에서 코드를 실행해보면 둘 다 start index ~ end index 구간의 문자열을 자르는 결과가 return됩니다.
GAS에 현재 오류가 있다거나 하는 등 위같은 현상이 발생하는 정확한 원인은 모르겠으나 현상태에서 위 두 method는 동일한 기능을 수행하므로 위 두 method는 동일하다고 가정하고 설명하겠습니다.
Syntax
String.substring(start_index, end_index)
String.slice(start_index, end_index)
substring/slice method는 어떠한 문자열(string)에 적용할 수 있습니다.
- start_index
문자를 자를 때 시작할 문자의 index 값입니다.
- end_index
문자를 자를 때 끝 문자의 index 값입니다.
주의할 점은 start_index 위치에 있는 문자는 결과에 포함되지만 end_index 위치에 있는 문자는 결과에 포함되지 않습니다.
무슨 말인지 예시를 통해 살펴봅시다.
function myFunction(){
var test_string = 'This is MY laptop. 이것은 나의 노트북입니다.';
var test_substring = test_string.substring(2, 6);
Logger.log(test_substring.length)
Logger.log(test_substring);
}
-- Result
4.0
is i
test_string에 substring method를 적용한 예시입니다.
This is MY laptop. 이것은 나의 노트북입니다.
위 문자에 substring을 적용할 것입니다.
참고로 문자열에서 가장 첫 번째 글자는 index = 0이며 그 후로 index가 1씩 증가합니다.
- var test_substring = test_string.substring(2, 6);
위 예시를 보면 substring의 parameter로서 2와 6이 전달되어있습니다.
test_string 변수에 저장된 문자열을 자르는데
index = 2 위치에서 시작해서 index = 6 위치에 있는 문자까지 자르고 return하라는 의미입니다.
여기서 end index인 index = 6 위치에 있는 문자는 결과에 포함되지 않습니다.
그리고 substring의 결과를 test_substring 변수에 저장합니다.
결과를 보면 is i 입니다.
test_substring에 length를 적용해보면 4가 return됩니다. 즉, 총 네글자라는 의미이죠.
This is MY laptop. 이것은 나의 노트북입니다.
위 문자에서 각 문자별 index를 앞부분만 나타내면 아래와 같습니다.
T -> index = 0
h -> index = 1
i -> index = 2
s -> index = 3
(공백) -> index = 4
i -> index = 5
s -> index = 6
(공백) -> index = 7
즉, index = 2인 i부터 index = 6인 s까지 잘리게되는데 index = 6인 문자열은 결과에 포함되지 않습니다.
그래서 결과는 is i인 것이죠. (공백도 하나의 문자로 판단됩니다.)
function myFunction(){
var test_string1 = 'This is MY laptop. 이것은 나의 노트북입니다.';
var test_substring = test_string1.substring(2, 6);
var test_string2 = 'This is MY laptop. 이것은 나의 노트북입니다.';
var test_slice = test_string2.slice(2, 6);
Logger.log(test_substring.length)
Logger.log(test_substring);
Logger.log(test_slice.length)
Logger.log(test_slice);
}
-- Result
4.0
is i
4.0
is i
substring method와 slice method를 동시에 적용해보았습니다.
결과가 동일합니다.
'Google Apps Script' 카테고리의 다른 글
Google Apps Script : concat, + (문자열 연결하기) (0) | 2022.11.30 |
---|---|
Google Apps Script : startsWith, endsWith (문자열이 시작 글자 확인, 문자열의 끝 글자 확인) (0) | 2022.11.30 |
Google Apps Script : toLowerCase, toUpperCase (소문자로 변환, 대문자로 변환) (0) | 2022.11.30 |
Google Apps Script : charCodeAt (문자열에서 특정 위치에 있는 문자의 unicode 값 return) (0) | 2022.11.30 |
Google Apps Script : length (문자열 길이, 텍스트 길이, 문자 개수) (0) | 2022.11.30 |