C# 如何拆分服务器地址并存储在列表中

C# 如何拆分服务器地址并存储在列表中,c#,arrays,list,split,C#,Arrays,List,Split,我有一个大约有10个字符串的列表。 数值如下: \\Server\Site\MySite\File1.xml \\Server\Site\MySite\File2.xml \\Server\Site\MySite\File2.xml ....................... \\Server\Site\MySite\File10.xml 我需要将\MySIte\File1.xml提取到\MySIte\File10.xml并存储在另一个列表中 我尝试使用Split关键字,并使用另一个列表填

我有一个大约有10个字符串的
列表。
数值如下:

\\Server\Site\MySite\File1.xml
\\Server\Site\MySite\File2.xml
\\Server\Site\MySite\File2.xml
.......................
\\Server\Site\MySite\File10.xml
我需要将
\MySIte\File1.xml
提取到
\MySIte\File10.xml
并存储在另一个列表中

我尝试使用
Split
关键字,并使用另一个列表填充拆分的字符串。但它似乎没有给出正确的答案

代码如下:

for(int index=0;index<list.Count;list++)
{
    string[] myArray=list[index].Split('\\');

    for(int innerIndex=0;innerIndex<myArray.Length;innerIndex++)
    {
        anotherList[innerIndex]=myArray[2]+"\\"+myArray[3];
    }
}

for(int index=0;index如果您知道所有字符串的输入,就不需要太努力

str.Substring(str.IndexOf("\\MySite"))
一个词:林克

var results = (from x in source
               let parts = x.Split('\\')
               select String.Join("\\", parts.Skip(1)).ToArray();

您可以使用以下代码

        List<string> source = new List<string>();
        source.Add(@"\\Server\Site\MySite\File1.xml");
        source.Add(@"\\Server\Site\MySite\File2.xml");
        source.Add(@"\\Server\Site\MySite\File2.xml");
        source.Add(@"\\Server\Site\MySite\File10.xml");

        foreach(string s in source)
        {
            string[] parts = s.Split(new string[]{ Path.DirectorySeparatorChar.ToString() },StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine(parts[parts.Length - 1] + Path.DirectorySeparatorChar +
                              parts[parts.Length - 2]);
        }
List source=new List();
source.Add(@“\\Server\Site\MySite\File1.xml”);
source.Add(@“\\Server\Site\MySite\File2.xml”);
source.Add(@“\\Server\Site\MySite\File2.xml”);
source.Add(@“\\Server\Site\MySite\File10.xml”);
foreach(源中的字符串s)
{
string[]parts=s.Split(新字符串[]{Path.directorysepartorchar.ToString()},StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(parts[parts.Length-1]+Path.directoryseportorchar+
零件[零件长度-2];
}

我只需删除
\MySite
之前的任何内容,然后获取其余内容:

使用的测试数据:

List<string> source = new List<string>
{
    @"\\Server\Site\MySite\File1.xml",
    @"\\Server\Site\MySite\File2.xml",
    @"\\Server\Site\MySite\File2.xml",
    @"\\Server\Site\MySite\File10.xml",
};

让我试试您的solutionList=results.ToList();如果我尝试将LINQ查询的结果绑定到列表,则会出现错误。请帮助您的LINQ查询无法工作。它会再次提供原始列表。还有其他建议吗?让我试试您的解决方案
var result = 
    source
    // Start removing at 0 and remove everything before '\MySite'
    .Select(x => x.Remove(0, x.IndexOf("\\MySite")))
    .ToList();