[英]C# get sequences of numbers from string containing numbers and words?
給定一個字符串,如“15個中的10個”或“1個點中的0個”,如何在一個變量中獲得第一個數字,在第二個變量中獲得第二個數字?
您可以使用Split
和LINQ
:
var str = "10 of 15 points";
var numbers = str.Split().Where(x => x.All(char.IsDigit))
.Select(x => int.Parse(x)).ToList();
這將返回包含10
和15
的List<int>
。
var temp = "10 of 15 points".Split(" ");
var num1 = int.Parse(temp[0])
var num2 = int.Parse(temp[2])
對於我的一個項目,我需要一些不同的方法。 示例:1a2b12 - > 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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.