string_pos_ext 함수 설명
string_pos_ext
함수는 주어진 문자열 내에서 특정 부분 문자열(sub-string)의 위치를 찾는 기능을 제공합니다. 이 함수는 지정된 시작 위치부터 문자열을 앞으로 검색하며, 찾는 문자열이 없으면 0을 반환하고, 찾는 문자열이 있으면 그 첫 번째 문자 위치를 반환합니다. 주의할 점은 레거시 지원을 위해 문자열의 인덱스가 1부터 시작한다는 것입니다. 즉, 문자열의 첫 번째 위치는 1입니다.
문법
string_pos_ext(substr, str, start_pos);
인자 설명
인자 이름 | 타입 | 설명 |
---|---|---|
substr | String | 문자열 내에서 찾고자 하는 부분 문자열 |
str | String | 검색할 전체 문자열 |
start_pos | Real | 검색을 시작할 위치 |
반환값
- Real: 찾는 문자열의 첫 번째 문자 위치 또는 0
예제
아래 코드는 변수 "text"에 저장된 문자열에서 20번째 문자 이후에 쉼표(,)를 검색하고, 쉼표가 발견되면 그 위치에 "name"이라는 부분 문자열을 삽입합니다.
if (string_pos_ext(",", text, 20) != 0) {
string_insert(name, text, string_pos_ext(",", text, 20));
}
활용 예제
- 문자열 내 특정 단어 찾기
gml var position = string_pos_ext("apple", fruit_list, 1); if (position != 0) { show_message("사과가 위치 " + string(position) + "에 있습니다."); }
- 문자열에서 특정 기호 제거하기
gml var pos = string_pos_ext(";", data_string, 1); if (pos != 0) { data_string = string_delete(data_string, pos, 1); }
- 문자열 연결하기
gml var comma_pos = string_pos_ext(",", full_string, 1); if (comma_pos != 0) { full_string = string_insert(" and", full_string, comma_pos); }
- 문자열의 특정 위치에 텍스트 추가하기
gml var insert_pos = string_pos_ext(" ", sentence, 5); if (insert_pos != 0) { sentence = string_insert("NEW", sentence, insert_pos); }
- 문자열에서 마지막 단어 찾기
gml var last_space = string_last_pos(" ", sentence); if (last_space != 0) { var last_word = string_copy(sentence, last_space + 1, string_length(sentence)); }