string_pos 함수 설명 및 활용 예제
string_pos
함수는 문자열 내에서 특정 부분 문자열(sub-string)의 위치를 찾는 함수입니다. 이 함수는 문자열의 시작부터 검색을 시작하며, 만약 문자열의 끝에서 검색하고 싶다면 string_last_pos()
함수를 사용해야 합니다.
이 함수는 부분 문자열이 발견되지 않으면 0을 반환하고, 발견되면 부분 문자열의 첫 번째 문자의 위치를 반환합니다. 주의할 점은, 레거시 지원을 위해 문자열의 인덱스는 1부터 시작하므로, 문자열의 첫 번째 위치는 1입니다.
이 함수는 공격적인 단어를 필터링하거나, 다른 문자열에 텍스트를 삽입할 올바른 위치를 찾는 데 유용하게 사용될 수 있습니다.
문법
string_pos(substr, str);
인수 설명
인수명 | 타입 | 설명 |
---|---|---|
substr | String | 문자열에서 찾을 부분 문자열 |
str | String | 검색할 전체 문자열 |
반환값
- Real: 부분 문자열의 위치 (찾지 못하면 0)
예제
if (string_pos(",", text) != 0) {
string_insert(name, text, string_pos(",", text));
}
위 코드는 변수 "text"에 저장된 문자열에서 쉼표를 검색하고, 쉼표가 발견되면 "name"이라는 부분 문자열을 해당 위치에 삽입합니다.
활용 예제
- 단어 필터링
var offensive_word = "badword";
if (string_pos(offensive_word, user_input) != 0) {
show_message("사용할 수 없는 단어입니다.");
}
- 문자열 삽입
var insert_text = "Hello";
var main_text = "World!";
if (string_pos(" ", main_text) != 0) {
main_text = string_insert(insert_text, main_text, string_pos(" ", main_text));
}
- 구분자 찾기
var data = "apple,banana,cherry";
var position = string_pos(",", data);
if (position != 0) {
var first_part = string_copy(data, 1, position - 1);
}
- URL 파라미터 추출
var url = "http://example.com/page?param=value";
var param_position = string_pos("param=", url);
if (param_position != 0) {
var value_start = param_position + string_length("param=");
}
- 특정 문자 제거
var text = "Hello, World!";
var comma_position = string_pos(",", text);
if (comma_position != 0) {
text = string_copy(text, 1, comma_position - 1) + string_copy(text, comma_position + 1, string_length(text));
}