C#中如何从字符串中提取数字?

发布网友 发布时间:2024-10-24 03:31

我来回答

5个回答

热心网友 时间:7分钟前

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

热心网友 时间:2分钟前

把字符串一个一个提出来强制转换int型用try,catch 来捕获异常,如果转换不了就代表不是数字,能转换就是数字

热心网友 时间:2分钟前

int test=0;
for(int i=0;i<str.Length;i++){
if(int.TryParse(str.SubString(i),out test)){
continue;
}else{
break;
}
}
test就是最后的结果,如果为0,有两种情况,一种是转换失败,一种是最后的结果就是0.也就是说0是默认值。

热心网友 时间:4分钟前

问题详细点!你看这样
Console.WriteLine("请输入字符串:");
string str=Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsDigit(str, i))
{
Console.Write(str[i]);
}
}

热心网友 时间:4分钟前

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;
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com