C# 如何在特定的“位置”拆分字符串/&引用;当它容纳了许多/&引用-人物

C# 如何在特定的“位置”拆分字符串/&引用;当它容纳了许多/&引用-人物,c#,C#,例如: /someString/anotherString/andOneMore/ 我有一根绳子: /child1/child2/child3/ 我想要的结果是: /child1/child2/ 请注意,每个孩子都可能有不同的长度。例如: /someString/anotherString/andOneMore/ 字符串也可以是(在最后一种情况下,我需要保持“/”不变): 如果要单独处理/字符串: private string TruncatePath(string path) {

例如:

/someString/anotherString/andOneMore/
我有一根绳子:

/child1/child2/child3/
我想要的结果是:

/child1/child2/
请注意,每个孩子都可能有不同的长度。例如:

/someString/anotherString/andOneMore/
字符串也可以是(在最后一种情况下,我需要保持“/”不变):


如果要单独处理
/
字符串:

private string TruncatePath(string path)
{
    if (path == "/")
        return path;

    var parts = path.Split(new []{'/'}, StringSplitOptions.RemoveEmptyEntries);
    return String.Format("/{0}/", String.Join("/", parts.Take(2)));
}

这是用于替换而不是拆分的作业。使用正则表达式,我们匹配前两项并简单地输出它们

var pattern = @"(/[^/]+/)[^/]+/([^/]+/)";

Regex.Replace("/child1/child2/child3/",
              pattern,
              "$1$2"); // result `/child1/child3/`

Regex.Replace("/someString/anotherString/andOneMore/",
              pattern,
              "$1$2"); // result `/someString/andOneMore/`

Regex.Replace("/",
              pattern,
              "$1$2"); // result `/`

所以你想在给定的斜线处拆分一个字符串

int splitAt = 3;
var parts = "dsf/df/ss/sdfsfd/fsdfsd".Split('/').ToList();
var headParts = parts.Take(splitAt);
var tailParts = parts.Skip(splitAt);
var head = String.Join("/",headParts.ToArray()).Dump();
var tail = String.Join("/",tailParts.ToArray()).Dump();

您现在是如何尝试拆分它的?
String.split()
,然后
String.Join()
您想要的部分将是一种方法拆分的标准是什么?”…或者“您可以更详细一些吗?ElGavilan:如果有:
/child1/child2/child3/
,然后执行以下操作:
String[]SplittedUrl=FullUrl.split(“/”);
然后我希望我的结果是这样的:
/child1/child2/
谢谢你的回答。但是我不能使用部分:input.Split。在那里出错。部分“input”我的情况是string@user3228992
Split
是字符串类的一种方法。是的,我知道,但我不能使用它,不知道为什么。是因为它是一个属性:
公共字符串输入{get;set;}
?很抱歉,我把事情搞砸了!我现在要再次尝试你的解决方案:)