qq_19755427
残缺丶
采纳率56%
2015-09-15 03:02

字符串中提取数字,在线等!

1
已采纳

我有一个字符串,“p27p p34p”我想拿到里面的数字,里面的数字是用户ID,我的根据这ID去查Name。
该字符串中可能有多个“p用户IDp”,请问怎么在c#后台把数字弄出来。
结果是:27 34。想把拿出来的数字放在一个数组里面,然后我循环去查用户。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • Austandin 西风残阳 6年前
      public static decimal GetNumber(string str)
      {
       decimal result = 0;
       if (str != null && str != string.Empty)
       {
        // 正则表达式剔除非数字字符(不包含小数点.)
        str = Regex.Replace(str, @"[^\d.\d]", "");
        // 如果是数字,则转换为decimal类型
        if (Regex.IsMatch(str, @"^[+-]?\d*[.]?\d*$"))
        {
         result = decimal.Parse(str);
        }
       }
       return result;
      }
    
    点赞 评论 复制链接分享
  • dongfeng9ge 东风玖哥 6年前

    试试循环一个正则表达式吧!

    点赞 评论 复制链接分享
  • tb176 IT丶小农民 6年前

    提取字符串中的数字
    从字符串中提取数字
    字符串 汉字/数字提取
    ----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

    点赞 评论 复制链接分享
  • yangbo50304 yangbo50304 6年前

    试试这个

     static void GetIDList(string strIDInput, List<string> IDList)
            {
                string strNumber = string.Empty;
                foreach (char ch in strIDInput.ToCharArray())
                {
                    int ascii = Convert.ToInt32(ch);
                    if (ascii >= 48 && ascii <= 57)
                    {
                        strNumber += Convert.ToString(ch);
                    }
                    else
                    {
                        if (strNumber.Length > 0)
                        {
                            IDList.Add(strNumber);
                        }
                        strNumber = string.Empty;
                    }
                }
            }
    
    点赞 评论 复制链接分享
  • Liao_Jingyi Liao_Jingyi 6年前

    sscanf是c里面的

    点赞 评论 复制链接分享
  • chen_ming12 chen_ming12 6年前

    用一个for循环将字符串中的每个字符都+'0',就变成数字了

    点赞 评论 复制链接分享
  • hy89202249 白色蜡笔画幸福 6年前

    好方法暂时没想到 笨方法有一个
    遍历字符串 判断是否是INT

    点赞 评论 复制链接分享
  • hy89202249 白色蜡笔画幸福 6年前

    好方法暂时没想到 笨方法有一个
    遍历字符串 判断是否是INT

    点赞 评论 复制链接分享

相关推荐