Получить путь к файлу / каталогу из строки, содержащей другие данные - PullRequest
2 голосов
/ 16 октября 2010

Как получить каталог и имя файла из следующей строки, используя C #:

string test = "test@test.com, snap555.jpg, c: \ users \ test \ desktop \ snap555.jpg";

Я только хочу иметь возможность получить "c: \ users \ test \ desktop \ snap555.jpg" из строки и превратить его в другую строку.

Символы перед «,» всегда будут разными и имеют разную длину, например: «bob@bob.com, x.txt, c: \ users \ test \ desktop \ x.txt»

Какой самый простой способ сделать это в c #?

Спасибо.

т

Ответы [ 2 ]

3 голосов
/ 16 октября 2010

Если разделитель запятых не отображается в первой части, вы можете использовать:

string pathName = test.Split(',')[2];

Если пробел после запятой является проблемой и предполагается, что в первой части пробелов никогда не бывает, можно использовать:

char[] delims = new char[] { ',', ' '};
string pathName = test.Split(delims, StringSplitOptions.RemoveEmptyEntries)[2];

В этом примере предполагается, что вы всегда хотите третий элемент, как указано в вашем вопросе.В противном случае измените 2 в приведенных выше примерах на правильный индекс нужного элемента.Например, если это всегда должен быть последний элемент, вы можете сделать:

char[] delims = new char[] { ',', ' '};
string[] items = test.Split(delims, StringSplitOptions.RemoveEmptyEntries);
string pathName = items[items.Length-1];
2 голосов
/ 16 октября 2010

Если там всегда будет запятая, вы можете использовать

string test = "snap555.jpg, c:\users\test\desktop\snap555.jpg";
string[] parts = test.Split(',');

Затем получите все необходимое из массива частей.

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