我有一个包含数字和字母的字符串想要在C#.my字符串中使用LINQ查询将字母和数字拆分到单独的数组中
“abcd 00001 pqr 003 xyz abc 0009”
答案 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