Last active
December 17, 2015 08:59
-
-
Save brbsh/5584028 to your computer and use it in GitHub Desktop.
PAWN char deleting functions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Функция для вырезания символов из строки | |
chrdel(string[], character, repeating) | |
Аргументы: | |
string[] - строка назначения | |
character - символ, который нужно вырезать | |
repeating (true/false) - если true, вырежет все символы, иначе первый попавшийся | |
Возвращает: | |
-1 - Возникла ошибка (строка пуста/введен неверный символ) | |
Иначе вернет количество вырезанных символов | |
*/ | |
stock chrdel(string[], character, bool:repeating = true) | |
{ | |
if((string[0] <= 3) || !(' ' <= character <= 255)) return -1; | |
new rt; | |
for(new i; string[i]; i++) | |
{ | |
if(string[i] == character) | |
{ | |
if(!repeating) | |
{ | |
strdel(string, i, (i + 1)); | |
return 1; | |
} | |
strdel(string, i, (i + 1)); | |
rt++; | |
} | |
} | |
return rt; | |
} | |
/* | |
Функция для вырезания группы символов из строки | |
chrdel_ex(string[], bool:repeating, ...) | |
Аргументы: | |
string[] - строка назначения | |
repeating (true/false) - если true, вырежет все символы, иначе первый попавшийся | |
... - символы, которые нужно вырезать, через запятую | |
Возвращает: | |
-1 - Возникла ошибка (строка пуста/введен неверный символ/большое кол-во аргументов) | |
Иначе вернет количество вырезанных символов | |
*/ | |
stock chrdel_ex(string[], bool:repeating, ...) | |
{ | |
new args; | |
if((string[0] <= '\1') || ((args = numargs()) == 2)) return -1; | |
new rt; | |
for(new i; string[i]; i++) | |
{ | |
for(new j = 2; j != args; j++) | |
{ | |
if(string[i] == getarg(j)) | |
{ | |
if(!repeating) | |
{ | |
strdel(string, i, (i + 1)); | |
return 1; | |
} | |
strdel(string, i, (i + 1)); | |
rt++; | |
} | |
} | |
} | |
return rt; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment