我知道这会提取数字并存储为int -
Q = sum(X.^2 * A)
我试图从字符串中提取多个数字,例如-10 + 2 + 3,并将它们存储为单独的整数。 注意:用户输入的数字量是未知的。 任何建议非常感谢
答案 0 :(得分:2)
您可以使用LINQ one-liner:
var numbers = Regex.Matches(inputData, @"\d+").Select(m => int.Parse(m.Value)).ToList();
如果您更喜欢数组而不是列表,请使用ToArray()
。
答案 1 :(得分:1)
C# program that uses Regex.Split
参考:http://www.dotnetperls.com/regex-split
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
//
// String containing numbers.
//
string sentence = "10 cats, 20 dogs, 40 fish and 1 programmer.";
//
// Get all digit sequence as strings.
//
string[] digits = Regex.Split(sentence, @"\D+");
//
// Now we have each number string.
//
foreach (string value in digits)
{
//
// Parse the value to get the number.
//
int number;
if (int.TryParse(value, out number))
{
Console.WriteLine(number);
}
}
}
}
答案 2 :(得分:0)
您可以使用以下内容:
string inputData = "sometex10";
List<int> numbers = new List<int>();
foreach(Match m in Regex.Matches(inputData, @"\d+"))
{
numbers.Add(Convert.ToInt32(m.Value));
}
这会将整数存储在列表numbers