已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
string text = Convert.ToString(Console.ReadLine());
string[] myInts ;
myInts = Regex.Split(text, @"\D+");
foreach (String num in myInts)
{
Console.WriteLine(num);
}
我需要从字符串中获取所有数字,包括双精度和所有可能的数字类型,并将它们放入数组或列表中。我有一个返回整数的正则表达式,但它在返回double时失败了
我需要从字符串中获取所有数字,包括双精度和所有可能的数字。
1条答案
按热度按时间svmlkihl1#
\d+
匹配一系列数字,除此之外什么都不匹配。对于一个非常简单的浮点数模式“sign + digits + separator + digits”,没有千位分隔符或空格以及可选的符号和小数部分,模式将是-?\d+(\.\d+)?
,假设分隔符是.
。一个更复杂的模式留给读者练习。考虑到这一点,我不会用数字来分割,而是得到所有的匹配: