Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как в билдере решить проблему поиска подстроки . Что является аналогом регулярного В.

413
18 января 2005 года
lunaplus
93 / / 04.10.2003
Подскажите какие есть пути решения следующей проблемы.
Необходимо из стротки "путь к файлу\\dir\\filename.xsd" получить имя файла filenmae? Подскажите как это сделать.
Как то сразу не смогла найти ничего для работы с регулярными выражениемя. Если можно, подскажите несколько разных способов.
259
18 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by lunaplus
Подскажите какие есть пути решения следующей проблемы.
Необходимо из стротки "путь к файлу\\dir\\filename.xsd" получить имя файла filenmae? Подскажите как это сделать.
Как то сразу не смогла найти ничего для работы с регулярными выражениемя. Если можно, подскажите несколько разных способов.


AnsiString __fastcall ExtractFileName(const AnsiString FileName);

413
18 января 2005 года
lunaplus
93 / / 04.10.2003
Цитата:
Originally posted by AlexandrVSmirno

AnsiString __fastcall ExtractFileName(const AnsiString FileName);


Действительно работает, но не совсем так как нужно: получаем filename.xsd, а как теперь отобрать именно filename?

259
18 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by lunaplus

Действительно работает, но не совсем так как нужно: получаем filename.xsd, а как теперь отобрать именно filename?


 
Код:
AnsiString FileName = ExtractFileName(FullFileName);
AnsiString onlyFileName = FileName.SubString(1,FileName.AnsiPos("."));
AnsiString onlyExt = ExtractFileExt(FileName);
2.3K
18 января 2005 года
ART-CODE
134 / / 15.11.2004
FileName.SubString(1,FileName.AnsiPos("."));
- не правильно...

Вот как надо:
 
Код:
String test_str="Test.mp3.exe.txt";
ShowMessage(test_str.Delete(LastDelimiter(".",test_str),test_str.Length()));
259
18 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by ART-CODE
FileName.SubString(1,FileName.AnsiPos("."));
- не правильно...

Вот как надо:
 
Код:
String test_str="Test.mp3.exe.txt";
ShowMessage(test_str.Delete(LastDelimiter(".",test_str),test_str.Length()));


Вопрос стоял о "filename.ext"

2.3K
18 января 2005 года
ART-CODE
134 / / 15.11.2004
Цитата:
Originally posted by AlexandrVSmirno

Вопрос стоял о "filename.ext"



Существует много ситуаций , когда имя файла содержит несколько точек, и нужно было найти не первую точку в имени файла , а последнюю, чтобы отделить имя файла от расширения.

413
18 января 2005 года
lunaplus
93 / / 04.10.2003
Цитата:
Originally posted by ART-CODE


Существует много ситуаций , когда имя файла содержит несколько точек, и нужно было найти не первую точку в имени файла , а последнюю, чтобы отделить имя файла от расширения.


Не спорьте по поводу решения проблемы. Я благодарна за оба варинта. Хотелось узнать не только решение данной проблемы, но и подчерпунть информацию, какими функциями можно пользоваться при решении подобных других проблем.

10
18 января 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by lunaplus

Хотелось узнать не только решение данной проблемы, но и подчерпунть информацию, какими функциями можно пользоваться при решении подобных других проблем.


А теперь - самый правильный вариант:

ChangeFileExt(filename, "");

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог