문자열 마지막 위치 찾기 함수
이 문서는 string_last_pos_ext
함수에 대해 설명합니다. 이 함수는 주어진 문자열에서 특정 서브 문자열의 위치를 찾는 기능을 제공합니다. 검색은 주어진 시작 위치에서 문자열의 끝 방향으로 진행됩니다. 만약 서브 문자열이 발견되지 않으면 0을 반환하고, 발견되면 서브 문자열의 첫 번째 문자의 위치를 반환합니다. 주의할 점은 레거시 지원을 위해 문자열의 인덱스가 1부터 시작한다는 것입니다. 즉, 문자열의 첫 번째 위치는 1입니다.
문법
string_last_pos_ext(substr, str, start_pos);
인수 설명
인수 이름 | 타입 | 설명 |
---|---|---|
substr | String | 문자열 내에서 찾고자 하는 서브 문자열. |
str | String | 검색할 전체 문자열. |
start_pos | Real | 검색을 시작할 위치. |
반환값
- Real: 서브 문자열의 위치 또는 0.
예제
if (string_last_pos_ext(",", text, 20) != 0) {
string_insert(name, text, string_last_pos_ext(",", text, 20));
}
위의 코드는 변수 "text"에 저장된 문자열에서 20번째 문자 이전에 쉼표를 검색합니다. 만약 쉼표가 발견되면, "name"이라는 서브 문자열을 해당 위치에 삽입합니다.
활용 예제
- 문자열에서 특정 단어 찾기
gml var position = string_last_pos_ext("apple", fruit_list, 50); if (position != 0) { show_message("사과가 " + string(position) + " 위치에 있습니다."); }
- 문자열에서 마지막 공백 찾기
gml var last_space = string_last_pos_ext(" ", sentence, string_length(sentence)); if (last_space != 0) { var first_part = string_copy(sentence, 1, last_space - 1); var second_part = string_copy(sentence, last_space + 1, string_length(sentence)); }
- 특정 기호로 문자열 나누기
gml var last_comma = string_last_pos_ext(",", data_string, string_length(data_string)); if (last_comma != 0) { var before_comma = string_copy(data_string, 1, last_comma - 1); var after_comma = string_copy(data_string, last_comma + 1, string_length(data_string)); }
- 문자열에서 특정 패턴 찾기
gml var last_pattern = string_last_pos_ext("pattern", log_data, string_length(log_data)); if (last_pattern != 0) { log("패턴이 " + string(last_pattern) + " 위치에서 발견되었습니다."); }
- 문자열에서 마지막 숫자 찾기
gml var last_digit = string_last_pos_ext("0", number_string, string_length(number_string)); if (last_digit != 0) { var number_found = string_copy(number_string, last_digit, 1); }