Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизПолучить кусок строки Найти похожие ветки
← →
Николай (2004-06-29 20:29) [0]Есть строка: "абвгд - жзиклмн". Нужно получить вторую ее часть - после " - ". Ведь обязана быть такая функция! Искал, искал - не нашел. Поможете?
← →
AndrewVolkov (2004-06-29 20:36) [1]
Result:=Copy(FullString, Pos("-", FullString), Length(FullString)-Pos("-", FullString);
,
где FullString - твоя входная строка "абвгд - жзиклмн"
← →
begin...end © (2004-06-29 20:38) [2]var
Str1, Str2: String;
I: Integer;
begin
Str1 := "абвгд - жзиклмн";
I := Pos("-", Str1);
Str2 := Copy(Str1, I, Length(Str1) - I);
end.
← →
begin...end © (2004-06-29 20:39) [3]
> [1] AndrewVolkov (29.06.04 20:36)
:)
← →
AndrewVolkov (2004-06-29 20:44) [4]>[2] А у меня в одну строчку :))
← →
Николай (2004-06-29 21:08) [5]Спасибо!
Или благодарю, как кому больше нравится :)
← →
Ihor Osov'yak © (2004-06-29 21:08) [6]2 [4] AndrewVolkov (29.06.04 20:44)
А у [2] - оптимальнее, функция Pos вызывается только один раз.
Но у вас обоих есть общая ошибка - не делается анализ, если Pos возвратит нуль. Конечно, в этом примере такое невозможно, но если входное значение будет меняться - почему бы и нет. Тогда в [2] эту проблему решаем относительно просто - анализ I на превышение нуля:if (I > 0)
then
Str2 := Copy(Str1, I, Length(Str1) - I)
else
Str2 := "";
← →
Anatoly Podgoretsky © (2004-06-29 21:55) [7]Ihor Osov"yak © (29.06.04 21:08) [6]
В зависимости от того, что надо делать если строка не содержит этого знака и возратить для этого случая всю строку, то тогда это не будет являться ошибкой, а вот если надо возратить пустую строку, то конечно это ошибка.
Но это не единственная проблема, возвратить по условию надо строку после "-", а не вместе с минусом.
← →
AndrewVolkov (2004-06-29 22:18) [8]то [6], я саму идею дал. А уж как ей воспользоваться (проверить на 0 и т.д.) - это уж личное дело того кто созидает. :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.027 c