Русское сообщество по скриптингу

Как извлечь определённый символ со строки  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Как извлечь определённый символ со строки

Сообщение provaider » 10 янв 2018, 22:28

Есть строка "00,10,22,31" (динамическая длинна)... каким образом можно достать к примеру "22" по отдельности (в разные переменные :: целочисленное значение). Спасибо.
Последний раз редактировалось provaider 10 янв 2018, 23:41, всего редактировалось 1 раз.
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Как извлечь определённый символ со строки

Сообщение Subb98 » 10 янв 2018, 22:46

«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Как извлечь определённый символ со строки  [Решено]

Сообщение provaider » 10 янв 2018, 23:48


parse не больше десяти аргументов, а если их будет 20?

Добавлено спустя 58 минут 43 секунды:
Сделал так (мне нужно было достать только второе число):

Если известно первое число и максимальное второе, возвращаем его (если первые числа после запятой в строке не одинаковы)
Код: Выделить всё
get_my_num(const one_num)
{
    new 
format_new_str[16];
    
    for(new 
0<= 2;i++)
    {
        
formatex(format_new_str15"%d%d",one_num,i);
        
        if(
contain("00,10,22,31",format_new_str) != -1)
            return 
i;
    }
    return -
1;
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Как извлечь определённый символ со строки

Сообщение Mistrick » 11 янв 2018, 01:20

provaider, а может использовать что-то нормальное?

Код: Выделить всё
devide_str("00,10,22,31,44,66,77,88"',');

devide_str(str[], token) {
    new 
argsnum;
    new 
left[128], right[128];
    
copy(rightcharsmax(right), str);
    do {
        
strtok(rightleftcharsmax(left), rightcharsmax(right), token);
        
        
args++;
        
num str_to_num(left);
        
        
server_print("arg #%d = %d"argsnum);
    } while(
right[0]);
    return 
args;

Код: Выделить всё
arg #1 = 0
arg #2 = 10
arg #3 = 22
arg #4 = 31
arg #5 = 44
arg #6 = 66
arg #7 = 77
arg #8 = 88 
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2940
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1247 раз.
Языки программирования: PAWN
С/С++(few above zero)


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8