如何使用LINQ分割字符串

时间:2017-07-14 06:45:50

标签: c# asp.net linq

我有一个包含数字和字母的字符串想要在C#.my字符串中使用LINQ查询将字母和数字拆分到单独的数组中

  

“abcd 00001 pqr 003 xyz abc 0009”

3 个答案:

答案 0 :(得分:3)

您可以将字符串转换为char数组,然后使用Where子句提取必要的信息:

string g =  "abcd 00001 pqr 003 xyz abc 0009";


char[] numbers = g.ToCharArray().Where(x => char.IsNumber(x)).ToArray();
char[] letters = g.ToCharArray().Where(x=> char.IsLetter(x)).ToArray();

答案 1 :(得分:1)

你可以这样做:

string a ="abcd 00001 pqr 003 xyz abc 0009";
var digits = a.Split().Where(x=> {double number; return double.TryParse(x,out number);});
var letters = a.Split().Where(x=> {double number; return !double.TryParse(x,out number);});
foreach(var a1 in digits)
{
    Console.WriteLine(a1);
}
foreach(var a1 in letters)
{
    Console.WriteLine(a1);
}

我的想法是尝试解析角色,如果解析成功,那么它就是一个数字。

答案 2 :(得分:1)

您可以使用密钥为GroupBy的{​​{1}},指定条目是否为数字(可以转换为boolean)或文字:

double