怎么判断数字和非数字字符

245965228 2014-03-08 09:58:24
输入一个字符串,串内有数字和非数字字符,例如,"abc2345 345fdf678 jdhfg945"。将其中连续的数字作为一个整数,依次存放到另一个整形数组b中。如将2345存放到b[0]中,345存放到b[1]中,678存放到b[2]中,...,统计出字符串中的整数个数,并输出这些整数。
...全文
576 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bushishenhua 2014-03-09
  • 打赏
  • 举报
回复
楼上说的对,正则表达式解决
_真真 2014-03-09
  • 打赏
  • 举报
回复
正则真的是太方便了
lkf181 2014-03-09
  • 打赏
  • 举报
回复
split成数组,把数字提取出来,再组合起来
欢乐的小猪 2014-03-09
  • 打赏
  • 举报
回复
\d 是数字 \D 非数字
wind_cloud2011 2014-03-08
  • 打赏
  • 举报
回复
用正则
youzelin 2014-03-08
  • 打赏
  • 举报
回复
这个东西用正则做就很合适了!

private static IEnumerable<int> ExtractNumbersFromString(string s)
{
    return Regex.Matches(s, @"\d+").Cast<Match>().Select(m => Convert.ToInt32(m.Value));
}
// 调用
foreach (var number in ExtractNumbersFromString("abc2345 345fdf678 jdhfg945"))
{
    Console.WriteLine(number);
}
threenewbee 2014-03-08
  • 打赏
  • 举报
回复
Regex.Matches(s, @"\d+").Cast<Match>().Select(m => Convert.ToInt32(m.Value)).ToArray(); 也可以用 Regex.Split(s, "[^\d]+").Select(x => int.Parse(x.Value))
lulu23260 2014-03-08
  • 打赏
  • 举报
回复
弱弱 的说,我以为是遍历,自己拼数
mznxbc123456 2014-03-08
  • 打赏
  • 举报
回复
首先你要遍历这个字符串foreach 然后你判断是字母还是数字 还要判断空格
xloveme 2014-03-08
  • 打赏
  • 举报
回复
就是把匹配的数字字符串转换为Int类型
衣舞晨风 2014-03-08
  • 打赏
  • 举报
回复
引用 2 楼 youzelin 的回复:
这个东西用正则做就很合适了!

private static IEnumerable<int> ExtractNumbersFromString(string s)
{
    return Regex.Matches(s, @"\d+").Cast<Match>().Select(m => Convert.ToInt32(m.Value));
}
// 调用
foreach (var number in ExtractNumbersFromString("abc2345 345fdf678 jdhfg945"))
{
    Console.WriteLine(number);
}
想问一下:Cast<Match>().Select(m => Convert.ToInt32(m.Value))什么意思啊?

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧