![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобрать строку, нужно взять только цифры с "конца" [D7]
mmms © (2005-06-01 10:01:00)Строка 52/552/554-552/999, нужно скопировать только 999, Pos & Copy и бесконечные переборы слеша, потом Delete после слеша не удобно, может как нибудь поудобнее можно сделать?
Заранее благодарю.
mmms (2005-06-01 11:03:00) [1]
Юрий Зотов
Ух ты, через имя файла я тоже как то не додумался, хотя я не с файлами и директориями эту задачу решаю, а договора у нас типа этого пронумеровываются. Но да, действительно, и так можно воспользоваться.
Antonn © (01.06.05 10:32)
так Антон, в том и дело, что нет желания переписывать все встроенные ф-я в VCL. А то что есть какие то редкие, я догадывался но не знал. теперь вот буду знать :)
Юрий Зотов (2005-06-01 10:51:00) [2]Еще вариант:
ExtractFileName(StringReplace(S, '/', '\', [rfReplaceAll]))
Mx (2005-06-01 10:35:00) [3]В [3] я "инвертнул" результат. Чтоб получить 999 надо:
S := Copy(S, LastDelimiter('/', S) + 1, MaxInt);
Antonn (2005-06-01 10:32:00) [4]
> Что лучше, код с циклом на 6-8 строк, и плюс несколько
> переменных, или 1 слово!!!
это не просто слово, это функция, в которой и 6-8 строк и переменные...
mmms (2005-06-01 10:31:00) [5]
Mx © (01.06.05 10:17)
LastDelimiter, это то что надо! Что лучше, код с циклом на 6-8 строк, и плюс несколько переменных, или 1 слово!!! Круто!! Благодарю!!
Mx (2005-06-01 10:17:00) [6]Delete(S, LastDelimiter('/', S), MaxInt);
Rule (2005-06-01 10:10:00) [7]чего, совсем не хочешь головой думать, а циклы зачем по твоему?
mmms (2005-06-01 10:02:00) [8]999 - и т.п. это цифра после последнего слеша, может быть и 2х значной, и 5ти значной..