Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для kolay_ne
16 / 18 / 11
Регистрация: 07.03.2016
Сообщений: 362

Получить подстроку из строки

15.07.2017, 07:59. Показов 3327. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка из латинских букв, слешей в обе стороны и точек. Написать функцию, которая получит фрагмент строки от последнего слеша до последней точки. Гарантируется, что будет точка, которая стоит дальше всех слешей.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2017, 07:59
Ответы с готовыми решениями:

Для заданной строки s заменить все вхождения строки substr1 на подстроку substr2
Разработать программу, которая для заданной строки s заменяет все вхождения от строки substr1 на подстроку substr2

Даны две строки: S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если таких подстрок нет, то вывести S1 без изменений
Вот условие: Даны две строки: S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если таких подстрок нет, то вывести S1...

Получить подстроку строки
к примеру дана строка "Powerman 5000 - When Worlds Collide (OST Nikki, djavol - mladshii).mp3", как скопировать строку от " - "...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2017, 09:37
Лучший ответ Сообщение было отмечено kolay_ne как решение

Решение

В простом Паскале так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var s,s1:string;
    i,sp,tp:integer;
begin
s:='abc\hju/nh\\jyu/.jkjkjk.jkjkjkj';
sp:=0;
tp:=0;
for i:=1 to length(s)do
 begin
  if s[i] in ['\','/'] then sp:=i;
  if s[i]='.' then tp:=i;
 end;
s1:=copy(s,sp,tp-sp+1);
write(s1);
end.
А как в net volvo покажет.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
15.07.2017, 09:43
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Все проще гораздо:
Pascal
1
2
3
4
5
uses System.IO;
begin
  var s := 'lalala/hahaha\gag.aga/dadada/sasasa.re';
  writeln(Path.GetFileNameWithoutExtension(s));
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2017, 09:51
Правда ему нужно
Цитата Сообщение от kolay_ne Посмотреть сообщение
от последнего слеша до последней точки
Я так понимаю что и их тоже нужно включить в подстроку.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
15.07.2017, 10:01
Цитата Сообщение от Puporev Посмотреть сообщение
их тоже нужно включить в подстроку
Я в этом ни разу не уверен, ждем уточнения ТС-а, но даже если и так - то тоже ничего сложного:
Pascal
1
2
3
  var s := 'lalala/hahaha\gag.aga/dadada/sasasa.re';
  var slash := s.LastIndexOfAny('/\'.ToCharArray);
  writeln(s.Substring(slash, s.LastIndexOf('.') - slash + 1));
1
 Аватар для kolay_ne
16 / 18 / 11
Регистрация: 07.03.2016
Сообщений: 362
15.07.2017, 11:55  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
нужно включить в подстроку
Вообще нет, но это легко исправляется
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2017, 11:59
Цитата Сообщение от kolay_ne Посмотреть сообщение
Вообще нет,
Так нужно мозг развивать и писать по человечески
фрагмент строки между последним слешем и последней точкой.
Кстати это может быть и пустая строка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.07.2017, 11:59
Помогаю со студенческими работами здесь

Получить подстроку со строки
Всем привет! Как получить подстроку со строки Например, есть строка "012345" и надо из нее получить подстроку "345" Заранее...

Получить подстроку из строки
Добрый вечер. Задача довольно проста - нужно из строки скопировать произвольную часть, а остальную отбросить. Суть в чем. Есть URL...

получить подстроку из строки
Добрый день. Есть строка, по регулярному выражению нахожу первое слово нужной подстроки в этой строке. Как найти, с какого символа по...

Как получить подстроку из строки?
Есть строка: $string = 'какой-то текст<#GetResult:45 + 38#>какой-то текст'; Мне нужно получить в переменную $substring всё от...

Получить заданную подстроку строки Фибоначчи
Здравствуйте, уважаемые пользователи форума! Вот совсем несложная задачка на строки, но три последних теста не проходят из-за ошибки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru