일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- array
- SQL
- 파이썬
- matplotlib
- string
- gas
- GIT
- hive
- list
- Java
- Mac
- c#
- Google Spreadsheet
- math
- Github
- Tkinter
- numpy
- PySpark
- Kotlin
- google apps script
- PANDAS
- Python
- Google Excel
- django
- PostgreSQL
- Apache
- Excel
- dataframe
- Redshift
- Today
- Total
달나라 노트
Google Apps Script : lastIndexOf (일치하는 가장 마지막 문자열 찾기) 본문
Google Apps Script : lastIndexOf (일치하는 가장 마지막 문자열 찾기)
CosmosProject 2022. 12. 1. 19:32
String 객체의 lastIndexOf method는 string에서 어떤 text를 찾은 후 찾아진 text의 위치 중 가장 나중(=오른쪽)에 있는 문자의 위치를 return합니다.
Syntax
String.lastIndexOf(text, end_index)
lastIndexOf method는 String에 적용할 수 있으며 2개의 parameter를 받습니다.
- text
String에서 찾을 문자입니다.
- end_index
String에서 text를 찾을 때 String의 첫 글자부터 end_index까지 탐색을 하게됩니다.
end_index의 기본값은 문자열의 길이입니다. (즉, end_index를 생략할 경우 String의 처음부터 끝까지를 탐색의 대상으로 합니다.)
function myFunction(){
var test_string = 'Apple_Banana_Peach_Melon';
Logger.log(test_string.lastIndexOf('a'));
Logger.log(test_string.lastIndexOf('a', 3));
Logger.log(test_string.lastIndexOf('a', 8));
Logger.log(test_string.lastIndexOf('a', 9));
}
-- Result
15.0
-1.0
7.0
9.0
위 예시를 보고 lastIndexOf method의 특징을 알아가봅시다.
- test_string.lastIndexOf('a')
먼저 parameter가 1개만 주어졌습니다. 즉, 찾을 텍스트 a만 주어진 것이죠.
이런 경우 end_index는 문자열의 길이가 되며 String 처음부터 끝까지를 대상으로 a를 찾으라는 의미입니다.
Apple_Banana_Peach_Melon
String에서 a를 모두 찾으면 위와 같습니다.
lastIndexOf는 대문자 소문자를 다른 문자로 취급하기 때문에 가장 첫번째 대문자 A는 대상에서 제외됩니다.
그러면 총 4개의 a가 찾아지죠.
lastIndexOf method는 이렇게 찾아진 문자 중 가장 마지막(=오른쪽)에 있는 문자의 위치(index)를 return합니다.
그러면 Peach에 있는 a 위치가 return되는데 이 위치는 전체 test_string 기준으로 15입니다.
따라서 15가 return됩니다.
- test_string.lastIndexOf('a', 3)
parameter로서 2개가 주어졌습니다.
찾을 test는 a이고, end_index는 3이네요.
end_index가 3이라는 것은 test_string의 가장 처음부터 index = 3까지의 범위에서만 a를 찾으라는 의미입니다.
Apple_Banana_Peach_Melon
가장 처음부터 index = 3까지의 위치는 Appl인데 여기는 a가 없죠.
따라서 a를 찾을 수 없으므로 -1이 return됩니다. (문자가 찾아지지 않는 경우 -1이 return됩니다.)
- test_string.lastIndexOf('a', 8)
parameter로서 2개가 주어졌습니다.
찾을 test는 a이고, end_index는 8이네요.
end_index가 8이라는 것은 test_string의 가장 처음부터 index = 8까지의 범위에서만 a를 찾으라는 의미입니다.
Apple_Banana_Peach_Melon
가장 처음부터 index = 3까지의 위치는 Apple_Ban인데 여기는 a가 1개 찾아집니다.
따라서 찾아진 a 중 가장 오른쪽에 있는 a의 위치가 test_string 전체를 기준으로 했을 때 index = 7이므로 7이 return됩니다.
- test_string.lastIndexOf('a', 9)
parameter로서 2개가 주어졌습니다.
찾을 test는 a이고, end_index는 9네요.
end_index가 9이라는 것은 test_string의 가장 처음부터 index = 9까지의 범위에서만 a를 찾으라는 의미입니다.
Apple_Banana_Peach_Melon
가장 처음부터 index = 3까지의 위치는 Apple_Bana인데 여기는 a가 2개 찾아집니다.
따라서 찾아진 a 중 가장 오른쪽에 있는 a의 위치가 test_string 전체를 기준으로 했을 때 index = 9이므로 9가 return됩니다.
function myFunction(){
var test_string = 'Apple_Banana_Peach_Apple_Melon';
Logger.log(test_string.lastIndexOf('App'));
}
-- Result
19.0
- test_string.lastIndexOf('App')
먼저 parameter가 1개만 주어졌습니다. 즉, 찾을 텍스트 App만 주어진 것이죠.
이런 경우 end_index는 문자열의 길이가 되며 String 처음부터 끝까지를 대상으로 App 텍스트를 찾으라는 의미입니다.
Apple_Banana_Peach_Apple_Melon
String에서 App을 모두 찾으면 위와 같습니다.
lastIndexOf method는 이렇게 찾아진 문자 중 가장 마지막(=오른쪽)에 있는 문자의 위치(index)를 return합니다.
그러면 두 번째 찾아진 App의 위치가 return되는데 이 위치는 전체 test_string 기준으로 19입니다.
(App 같이 다수의 글자로 이뤄진 텍스트를 찾는 경우 찾아진 텍스트의 가장 첫 글자의 위치를 기준으로 합니다.)
따라서 19가 return됩니다.
'Google Apps Script' 카테고리의 다른 글
Google Apps Script : match, search, 정규표현식 (문자열 찾기, 문자열 위치 찾기, 정규표현, regular expression) (0) | 2022.12.01 |
---|---|
Google Apps Script : indexOf (특정 문자의 위치 찾기) (0) | 2022.12.01 |
Google Apps Script : includes (문자 포함 여부 판단) (0) | 2022.11.30 |
Google Apps Script : concat, + (문자열 연결하기) (0) | 2022.11.30 |
Google Apps Script : startsWith, endsWith (문자열이 시작 글자 확인, 문자열의 끝 글자 확인) (0) | 2022.11.30 |