假设我有一个字符串:
var myFilename = "342134_My_Awesome_File.zip
我只想提取:My_Awesome_File.zip
。
我正在尝试以下操作:
var removedPrependedTieBreaker = myFilename.Split('_').Skip(1);
但是,这将产生一个IEnumerable<string>
。
我们如何在下划线处使用split
,并获取其余内容?
答案 0 :(得分:5)
您只需要使用不同的split重载即可计数:
var parts = myFilename.Split(new[] { '_' }, 2, StringSplitOptions.None);
var interestingData = parts[1];
答案 1 :(得分:5)
您可以用String.Join重新组合其余部分。但是也许最好避免拆分,而只需要一个子字符串:
myFilename.Substring(myFilename.IndexOf('_') + 1)
答案 2 :(得分:1)
虽然我喜欢Joe Sewell的答案,但我只是想我可以给您另一种方法(如问题注释中所述,string.Join
之外)使您自己的方法可行:
var removedPrependedTieBreaker = myFilename.Split('_').Skip(1).Aggregate((current, next) => $"{current}_{next}");
这将采用您制作的IEnumerable<string>
,并用string
作为定界符,将片段重新组成为_
。