【发布时间】:2020-09-05 23:11:04
【问题描述】:
我正在尝试学习如何从字符串中提取所有数字,其中数字以 0 到 9 之间的随机数字开头,然后以相同的数字结尾,但如果在出现下一个字母,它也应该包括那个。
让我给你看一个例子。
以这个字符串为例
12346171par827here727next8number5052car
然后我的程序将提取12346171、727、505
到目前为止,我所拥有的是这个,它显然没有做它应该做的事情,但我想不出一个好的算法。
如何正确提取数字?
string input = "12346171par827here727next8number5052car";
var charArray = input.ToArray();
int pos = 0;
var firstNum = 0;
var secondNum = 0;
for (int i = 0; i < charArray.Length; i++)
{
if (char.IsDigit(charArray[i]))
{
firstNum = charArray[i];
for (int j = i; j < charArray.Length; j++)
{
if (char.IsDigit(charArray[j]) && charArray[j] == firstNum)
{
secondNum = charArray[j];
}
}
}
}
【问题讨论】:
-
我不确定我是否理解这里的输出,为什么结果不包括
123461和171。这是一个错误,还是您想要的实际行为?