给定一个字符串,如“15分中的10分”或“1分中的0分”,如何在一个变量中获得第一个数字,在第二个变量中获得第二个数字?
答案 0 :(得分:6)
您可以使用Split
和LINQ
:
var str = "10 of 15 points";
var numbers = str.Split().Where(x => x.All(char.IsDigit))
.Select(x => int.Parse(x)).ToList();
这将返回包含List<int>
和10
的{{1}}。
答案 1 :(得分:2)
var temp = "10 of 15 points".Split(" ");
var num1 = int.Parse(temp[0])
var num2 = int.Parse(temp[2])
答案 2 :(得分:0)
对于我的一个项目,我需要一些不同的方法。 例: 1a2b12 - &gt; 1,2,12
private string[] getNumberSequencesFromString(string text)
{
List<string> numberSequences = new List<string>();
for (int i = 0; i < text.Length; i++)
{
if (char.IsDigit(text[i]))
{
if (numberSequences.Count == 0)
{
numberSequences.Add(text[i].ToString());
}
else
{
if (char.IsDigit(text[i - 1]))
{
numberSequences[numberSequences.Count - 1] = numberSequences[numberSequences.Count - 1] + text[i];
}
else
{
numberSequences.Add(text[i].ToString());
}
}
}
}
return numberSequences.ToArray();
}