| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Сново разделение строки... |
| Автор: V.Turecky 19.8.2002, 22:17 |
| Здравствуйте. Не поможете разделить строку на три части? Строка имеет вид - '... ... ...', то есть три числа, разделённые между собой пробелами. Числа могуть быть разные: одно-, двух- и трёхзначные. Я попыталься разделить, но что-то не ладиться: var Pat1,Pat2,Pat3, s: String; //Читаю строку и заношу в переменную 's' s := Reg.ReadString('Background'); //Разделяю строки (здесь всё нормально) Pat1 := Copy(s, 0, pos(' ', s)-1); //Здесь хуже Pat2 := Copy(s, pos(' ' ,s)+1, pos(' ', s)+1); //А здесь совсем плохо Pat3 := Copy(s, pos(' ', s)+5, length(s)); //Здесь вывожу результат ShowMessage(Pat1+' - '+Pat2+' - '+Pat3); |
| Автор: Vit 19.8.2002, 22:28 |
| Посмотри, я здесь подобную задачу решил: http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=2;t=2744 Вообще-то не хочется на такой вопрос отвечать - алгоритм простой до безобразия - надо просто сесть и аккуратно его реализовать: Пока исходная строка не равна пустой делать: { взять то что до разделителя -> очередной член строки исходная строка := взять то что после разделителя } И всё! |
| Автор: V.Turecky 19.8.2002, 22:45 |
| Я посмотрел эту тему: http://www.forum.vingrad.ru/cgi-bin....;t=2744 Честно сказать, если бы я знал, что оно и как, я бы на форуме не спрашивал. А файл справки по pos, length и Copy я листал. Но не могу сказать, что мне после этого всё стало ястно. |
| Автор: Vit 19.8.2002, 23:51 |
| Алоритм вычисления я тебе дал, используй эти функции: pos(s,s1) - возвращает первую позицию подстроки s в строке s1 pos('b','abcdabcd') вернёт 2 length - возвращает длину строки length('abcdabcd') вернёт 8 Copy(s,i,j) - возвращает кусок строки s начиная с символа под номером i и длиной j Copy('abcdabcd',2,3) вернёт 'bcd' Мне не жалко, я могу код этот написать за 5 минут, только ты его просто вставишь и ничему не научишься. Сия задача настолько простая, что представляет идеальное упражнгение для тренировки. |