извлекать информацию из пути - PullRequest
0 голосов
/ 17 января 2011

если у меня есть этот путь A / B // C Я хочу извлечь A, B, CI думал об индексе магазина из /, // и извлечь значения на основе индексов, но это создает проблему для меня, так как //не имеет ни одного индекса

/ -- index(1)
/ -- index(3)
/ -- index(4) 


    for (int index = 0; index <= path.Length; index++)
    {
            if (path[index] == '/')
            {
                pathIndex[index] = index;
                pathChar[index] = "/";
                Console.WriteLine("Index {0} char{1}", pathIndex[index], pathChar[index]);

            }              

    }

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

Ответы [ 2 ]

2 голосов
/ 17 января 2011
var input = "A/B//C";
var splitted = input.Split(new[] { '/' });
for (var idx = 0; idx < splitted.Length; ++idx)
    Console.WriteLine("Index={0} Value={1}", idx, splitted[idx]);

Если вам не нужны пустые значения внутри splitted, передайте StringSplitOptions.RemoveEmptyEntries в String.Split.

1 голос
/ 17 января 2011

Я предпочитаю использовать Path.DirectorySeparatorChar вместо '/' для разделения:

string currentDirectory = Directory.GetCurrentDirectory();

string[] parts = currentDirectory.Split(Path.DirectorySeparatorChar);

foreach (var item in parts)
    Console.WriteLine("{0}: {1}", currentDirectory.IndexOf(item), item);

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...