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

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

  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;
  }

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

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

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

sscanf是c里面的

试试这个

 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;
                }
            }
        }

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

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