从包含其他数据的字符串中获取文件/目录路径

时间:2010-10-15 21:08:15

标签: c# string

如何使用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 个答案:

答案 0 :(得分:3)

如果逗号分隔符未出现在第一部分中,您可以使用:

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];

答案 1 :(得分:2)

如果总有一个逗号,你可以使用

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

然后从零件阵列中获取您需要的任何东西。