如何使用LINQ拆分字符串

我使用字符串来存储国家代码及其成本中心代码值。 我希望通过使用LINQ查询来解除字符串 和; 字符。 srting是

IND|001;TWN|002;USA|003;LDN|;MYS|005; 

请帮我用LINQ溢出字符串值

我假设您需要一个Tuple作为输出。

 var myString = "IND|001;TWN|002;USA|003;LDN|;MYS|005;"; var objects = myString.Split(';').Where(x=>!string.IsNullOrEmpty(x)).Select (x => x.Split('|')).Select (x => Tuple.Create(x[0],x[1])).ToList(); 

结果:

 IND 001 TWN 002 USA 003 LDN MYS 005 

而不是LINQ使用String.Split

 string s = "IND|001;TWN|002;USA|003;LDN|;MYS|005;"; string[] splitData = s.Split(new string[] { "|", ";" }, StringSplitOptions.RemoveEmptyEntries); 

你可以用这个:

 string temp= "IND|001;TWN|002;USA|003;LDN|;MYS|005; IEnumerable returnList = temp.Split(';') .Where(g=>!String.IsNullOrEmpty(g)) .Select(c => c.Substring(0, c.IndexOf('|')) + c.Substring(c.IndexOf('|') + 1));