我有一个ant: man : jack
的字符串。
我想从:
拆分字符串,以便获得man : jack
作为输出。
注意:字符串应与:
字符的第一次出现分开。我该怎么办?
我尝试过的方法有效,但是我需要另一种方法来产生此结果。
var.Substring(var.IndexOf(':') + 1);
string[] split = var.Split(new char[] { ':' }, 2);
split[1] = split[1].TrimStart();
答案 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
将跳过字符直到谓词为真,这意味着:的第一个实例:它将返回一个字符列表。