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

C#中如何从字符串中提取数字?数字是在字符串的左边,并且我不知道数字的位数。... C#中如何从字符串中提取数字?
数字是在字符串的左边,并且我不知道数字的位数。
展开
 我来答
孤独VS笨蛋
推荐于2017-11-28
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
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
昔秋梵悦0FZ
2009-08-23
知道答主
回答量:64
采纳率:0%
帮助的人:20.3万
展开全部
把字符串一个一个提出来强制转换int型用try,catch 来捕获异常,如果转换不了就代表不是数字,能转换就是数字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiliping666
2009-08-19 · TA获得超过925个赞
知道小有建树答主
回答量:369
采纳率:33%
帮助的人:64.8万
展开全部
问题详细点!你看这样
Console.WriteLine("请输入字符串:");
string str=Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (char.IsDigit(str, i))
{
Console.Write(str[i]);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bluelotus7
2009-08-19 · TA获得超过444个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:0
展开全部
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友32c6f24eeab
2009-08-19 · TA获得超过458个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:0
展开全部
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是默认值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式