用字符分割字符串:

时间:2018-11-20 01:45:53

标签: c#

我有一个ant: man : jack的字符串。

我想从:拆分字符串,以便获得man : jack作为输出。

注意:字符串应与:字符的第一次出现分开。我该怎么办?

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

var.Substring(var.IndexOf(':') + 1);


string[] split = var.Split(new char[] { ':' }, 2);
split[1] = split[1].TrimStart();

2 个答案:

答案 0 :(得分:0)

我们可以尝试进行正则表达式替换:

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

man : jack

但是,我认为根据您的输入字符串,拆分实际上会更好地扩展。

答案 1 :(得分:0)

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

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

请记住skipWhile将跳过字符直到谓词为真,这意味着:的第一个实例:它将返回一个字符列表。