我对C#编程比较陌生,如果这很简单,我很抱歉,但我需要帮助。
我需要一个能够提取'来自字符串的常规AND十进制数字并将它们放在一个数组中。我熟悉
string[] extractData = Regex.Split(someInput, @"\D+")
但这只取整数。如果我有一个字符串" 19 58"它需要19和58并将它们存储到两个不同的数组字段中。但是如果我有" 19.58的东西"它将再次将它们作为两个单独的数字,而我想将其注册为一个十进制数字。
有没有办法让它“读”'这样的数字作为一个十进制数,使用正则表达式或其他方法?
提前致谢。
答案 0 :(得分:0)
试试这个
Regex.Replace(someInput, "[^-?\d+\.]", ""))
答案 1 :(得分:0)
请尝试以下操作:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication9
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
string[] inputs = {
"9 something 58" ,
"19.58 something"
};
foreach (string input in inputs)
{
MatchCollection matches = Regex.Matches(input, @"(?'number'\d*\.\d*)|(?'number'\d+[^\.])");
foreach (Match match in matches)
{
Console.WriteLine("Number : {0}", match.Groups["number"].Value);
}
}
Console.ReadLine();
}
}
}