我正在使用一个字符串来存储国家/地区代码及其成本中心代码值。我想用LINQ查询|和;字符。srting是
IND|001;TWN|002;USA|003;LDN|;MYS|005;
请帮助我使用LINQ 拆分字符串值
我假设您需要一个Tuple<string,string>
列表作为输出。
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<string> returnList = temp.Split(';')
.Where(g=>!String.IsNullOrEmpty(g))
.Select(c => c.Substring(0, c.IndexOf('|')) + c.Substring(c.IndexOf('|') + 1));
var myString = "IND|001;TWN|002;USA|003;LDN|;MYS|005;";
var result = from sp in myString.Split(';')
let spr = sp.Split('|')
select string.Join(" ", spr);
string append = string.Empty;
foreach (var item in result)
{
append += item + "n";
}
Console.WriteLine(append);