Имя файла из полного пути

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
Добрый вечер!
Подскажите, как из полного пути к файлу взять только имя файла без расширения?
То есть вот путь: C:\papka\papka2\papka3\file.txt Мне нужно после обработки регуляркой иметь "file"
В конструкторе задавал от символа "\" до ".", но что-то не получается
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 332
Благодарностей
9 086
Баллы
113
Добрый вечер!
Подскажите, как из полного пути к файлу взять только имя файла без расширения?
То есть вот путь: C:\papka\papka2\papka3\file.txt Мне нужно после обработки регуляркой иметь "file"
В конструкторе задавал от символа "\" до ".", но что-то не получается
экшен Обработка текста - Замена (Regex): .*\\ заменить на пустоту..
останется file.txt
а дальше регуляркой .*(?=\.txt) тоже в экшене Обработка текста - Regex выделить file
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
..
Код:
return Path.GetFileNameWithoutExtension(@"C:\Program Files\AkelPad\1.txt");
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 332
Благодарностей
9 086
Баллы
113

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
экшен Обработка текста - Замена (Regex): .*\\ заменить на пустоту..
останется file.txt
а дальше регуляркой .*(?=\.txt) тоже в экшене Обработка текста - Regex выделить file
Получилось, спасибо.
А почему же одним действием не получается сделать?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113

major555

Client
Регистрация
27.09.2014
Сообщения
62
Благодарностей
6
Баллы
8

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

major555

Client
Регистрация
27.09.2014
Сообщения
62
Благодарностей
6
Баллы
8
Этот код возвращает только часть имени

надо обработать такую строку

/media/wallpapers_dl/1/148/1474642-spaceships-flying-above-the-skyscrapers.jpg

Если ее вставить в первый код как значение, то норм обрабатывается, а через переменную возвращает результат 1474642
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Этот код возвращает только часть имени

надо обработать такую строку

/media/wallpapers_dl/1/148/1474642-spaceships-flying-above-the-skyscrapers.jpg

Если ее вставить в первый код как значение, то норм обрабатывается, а через переменную возвращает результат 1474642
2016-11-11_233951.png
 
  • Спасибо
Реакции: major555

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
если слеш в пути у тебя так берётся как ты скинул то вот так сделай
Код:
var url = project.Variables["Url"].Value.Replace("\\/", "\\");
return Path.GetFileNameWithoutExtension(url);
 
  • Спасибо
Реакции: Folt и major555

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
хотя стоять, чёт я сразу не проверил, всё берёт как надо

2016-11-11_234710.png
 
  • Спасибо
Реакции: major555

major555

Client
Регистрация
27.09.2014
Сообщения
62
Благодарностей
6
Баллы
8
Все в первом примере как надо. Я ж тебе спасибку отправил).
 

material

Client
Регистрация
23.03.2021
Сообщения
316
Благодарностей
114
Баллы
43
Код:
var url = project.Variables["Url"].Value;
return Path.GetFileNameWithoutExtension(url);
Спасибо, регулярные выражения постоянно ловили исключения, этот код ультимативный.

Может, кто знает аналоги под "имя+расширение" файла и просто "расширение" файла, чтобы закрыть вопрос раз и навсегда через C#?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Может, кто знает аналоги под "имя+расширение" файла и просто "расширение" файла, чтобы закрыть вопрос раз и навсегда через C#?
92766

C#:
string path = @"C:\Program Files\AkelPad\1.txt";
string file_name = string.Empty;

// Просто расширение
file_name = Path.GetExtension(path);
project.SendInfoToLog(file_name);   

// Просто имя
file_name = Path.GetFileNameWithoutExtension(path);
project.SendInfoToLog(file_name);

// Имя и расширение
file_name = Path.GetFileName(path);
project.SendInfoToLog(file_name);

// Путь к папке с этим файлом
file_name = Path.GetDirectoryName(path);
project.SendInfoToLog(file_name);

// Путь к диску
file_name = Path.GetPathRoot(path);
project.SendInfoToLog(file_name);
 

material

Client
Регистрация
23.03.2021
Сообщения
316
Благодарностей
114
Баллы
43
Посмотреть вложение 92766
C#:
string path = @"C:\Program Files\AkelPad\1.txt";
string file_name = string.Empty;

// Просто расширение
file_name = Path.GetExtension(path);
project.SendInfoToLog(file_name);  

// Просто имя
file_name = Path.GetFileNameWithoutExtension(path);
project.SendInfoToLog(file_name);

// Имя и расширение
file_name = Path.GetFileName(path);
project.SendInfoToLog(file_name);

// Путь к папке с этим файлом
file_name = Path.GetDirectoryName(path);
project.SendInfoToLog(file_name);

// Путь к диску
file_name = Path.GetPathRoot(path);
project.SendInfoToLog(file_name);
Исчерпывающий ответ. Спасибо большое.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)