Console.WriteLine("请输入要提取的字符串:");
string str = Console.ReadLine();
int number = 0;
string num = null;
foreach (char item in str)
{
if (item >= 48 && item <= 58)
{
num += item;
}
}
number = int.Parse(num);
Console.WriteLine(number);
上面那个是提取所有的数字
下面这个只能提起字符串最左边的数字:
Console.WriteLine("请输入一个字符串:");
string str = Console.ReadLine();
string number = null;
foreach (char item in str)
{
if (item >= 48 && item <= 58)
{
number += item;
}
else
{
break;
}
}
Console.WriteLine(number);
如:输入123123asf 则打印123123
输入123asf123 则打印123
把字符串一个一个提出来强制转换int型用try,catch 来捕获异常,如果转换不了就代表不是数字,能转换就是数字
问题详细点!你看这样
Console.WriteLine("请输入字符串:");
string str=Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsDigit(str, i))
{
Console.Write(str[i]);
}
}
string FilterDigit(string sourceString)
{
if (string.IsNullOrEmpty(sourceString))
return "";
for (int i = 0; i < sourceString.Length; i++)
{
if (sourceString[i] > '9' || sourceString[i] < '0')
return sourceString.Substring(0,i);
}
return sourceString;
}
int test=0;
for(int i=0;i
continue;
}else{
break;
}
}
test就是最后的结果,如果为0,有两种情况,一种是转换失败,一种是最后的结果就是0.也就是说0是默认值。