Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 61
1

Нужно распарсить путь к файлу или директории

03.06.2021, 22:05. Показов 2373. Ответов 7

Author24 — интернет-сервис помощи студентам
Допустим есть путь move C:\some\something"any thing.txt" C:\some\something\nothing
И проблема в том что если использовать Split(), оно будте неправильно парсить. А нужно получить полный путь

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static List<string> Parse(string path)
        {
            List<string> tmp = new List<string>();
            int space = path.IndexOf(' ');
            string com = path.Substring(0, space);
            bool flag = false;
            string firstPath = path.Substring(space);
            for (int i = 0; i < firstPath.Length; i++)
            {
                
            }
            tmp.Add(com);
 
            return tmp;
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2021, 22:05
Ответы с готовыми решениями:

Путь к файлу относительно директории
Здравствуйте. Нуждаюсь в помощи по решению проблемы с путями открытия файлов. И так, имеется...

Узнать путь к файлу в директории приложения
Здравствуйте, мне необходимо узнать в программе путь к папке где находится программа и сохранить...

Прописать путь к файлу в директории приложения
компонент windows media player , при смене компутера, то есть вставляю флешку в другой комп, и...

Получить путь к произвольному файлу в директории
Суть: Необходимо получить путь к произвольному файлу в директории и если он не подходит по...

7
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
03.06.2021, 22:13 2
чет не понятно что именно нужно получить, напиши так: на входе ..., нужно получить ...
0
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 61
03.06.2021, 22:25  [ТС] 3
Есть консольная команда move, и она должна принимать откуда и куда переместить файл, это нужно реализовать в

программе. Вопрос в том как с выражения "move C:\some\something"any thing.txt" C:\some\something\nothing"

получить 3 отдельные части
(сама команда move, первый путь C:\some\something"any thing.txt", второй путь C:\some\something\nothing)

Если розбивать обычным Split(), оно поделит выражение на пробелы и будет не то что нужно.
0
1517 / 908 / 328
Регистрация: 17.05.2015
Сообщений: 3,430
04.06.2021, 09:01 4
Цитата Сообщение от Selveresta Посмотреть сообщение
оно поделит выражение на пробелы и будет не то что нужно
а вы пробовали?

Добавлено через 5 минут
у меня, почему то получилось
C#
1
2
> "move \"C:\\some\\something\\any_thing.txt\" \"C:\\some\\something\\nothing\"".Split()
string[3] { "move", "\"C:\\some\\something\\any_thing.txt\"", "\"C:\\some\\something\\nothing\"" }
0
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 61
04.06.2021, 09:07  [ТС] 5
Вы в названии "any thing" поставили нижние подчеркивание, а в название файлов и папок могут быть пробелы, и тогда уже не сработает. В консоли имена файлов и папок берутся в кавычки, если в имени есть пробелы
0
1517 / 908 / 328
Регистрация: 17.05.2015
Сообщений: 3,430
04.06.2021, 10:04 6
Selveresta, для однозначности можно разделить фрагменты пайпами
C#
1
2
> "move | \"C:\\some\\something\\any thing.txt\" | \"C:\\some\\something\\nothing\"".Split('|')
string[3] { "move ", " \"C:\\some\\something\\any thing.txt\" ", " \"C:\\some\\something\\nothing\"" }
0
0 / 0 / 0
Регистрация: 20.03.2020
Сообщений: 61
04.06.2021, 10:20  [ТС] 7
У меня задание написать Windows консоль, и оно должно быть максимально похоже на оригинал, то есть команда, и что команда принимает. Никаких лишних знаков быть не должно
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
04.06.2021, 14:02 8
Лучший ответ Сообщение было отмечено Selveresta как решение

Решение

Selveresta,
C#
1
2
3
4
5
6
            var str = @"move C:\""programm files""\something\""any thing.txt"" D:\some\""new folder""\""new folder""";
            var result = Regex.Split(str, @" (?=\w:\\)", RegexOptions.IgnoreCase);
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }
0
04.06.2021, 14:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2021, 14:02
Помогаю со студенческими работами здесь

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

Путь к каждому файлу каталога в указанной директории
C:\Users\Ya\Desktop\gangs_skins_01_2020\ - тут несколько папок и внутри этого древа куча файлов....

Как указать путь к файлу в директории приложения
Как указать путь к файлу html, к папке рядом с программой(проектом) delphi

Указать путь к файлу в подпапке директории приложения
Существует папка с программой,допустим &quot;1&quot;,в которой есть еще одна папка,допустим &quot;2&quot;,в папке &quot;2&quot;...

Как получить путь к файлу, находящемуся в директории приложения
Здравствуйте!помогите добить программу!делал тест. Вообщем, в 1 форме я выбираю текстовый фаил ...

Как указать путь к файлу, который находится в директории приложения
Пишу одно приложение Во вложение показана структура файлов и папок. Мне нужно получить правильно...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru