我有一个字符串,“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,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
试试循环一个正则表达式吧!