代码之家  ›  专栏  ›  技术社区  ›  Illep

用字符拆分字符串:

c#
  •  -1
  • Illep  · 技术社区  · 6 年前

    我有一根绳子 ant: man : jack .

    我想把绳子从 : 所以我得到 man : jack 作为输出。

    注意:字符串应该从 : 性格。我该怎么做?

    我所尝试的是有效的,但是我需要另一种方法来产生这个结果。

    var.Substring(var.IndexOf(':') + 1);
    
    
    string[] split = var.Split(new char[] { ':' }, 2);
    split[1] = split[1].TrimStart();
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   Tim Biegeleisen    6 年前

    我们可以尝试使用regex替换:

    string input = "ant: man : jack";
    string s = Regex.Replace(input, @"^[^:]+\s*:\s*", "");
    Console.WriteLine(s);
    
    man : jack
    

    但是,我认为在给定输入字符串的情况下,拆分实际上可以更好地扩展。

        2
  •  0
  •   peeyush singh    6 年前

    您只对冒号后面的子字符串感兴趣,因此要在前面删除字符,需要使用 skipWhile :

        string test = "ant:man:jack";
        var results = test.SkipWhile(t => t != ':').Skip(0).ToList();
    

    记得 滑水 将跳过字符,直到谓词为true,这意味着在第一个实例中:它将返回一个字符列表。