Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.042 c
1-1088512200
Ben
2004-06-29 16:30
2004.07.11
Работа с текстом в Richedit е


9-1079372701
Servelat
2004-03-15 20:45
2004.07.11
Как выключить screensaver


1-1087912779
Buster
2004-06-22 17:59
2004.07.11
При изменении кода программа перестает запускаться из под Делфи


14-1087991752
Kotka
2004-06-23 15:55
2004.07.11
Кривые форточки?


11-1075118001
savva
2004-01-26 14:53
2004.07.11
с появлением GlueCut я че то не пойму как мне новую версию KOL...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский