C#中怎么在一组string型的数字和字母组合的数中提取数字部分,并转换成int型?
7个回答
展开全部
把string转换成char,然后判断char,如果是数字的话添加进一个list中,最后把list中的元素读成一个字符串,然后转换成int
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给提供个思路吧,再定义一个 string,假如为 strNum,然后在 for 循环里逐个读取 abcd1234 的字幕,如果是数字就 + 到 strNum 里,最后把 strNum 强转一下就行了。
参考代码:http://www.360doc.com/content/10/1006/18/3722251_58865995.shtml
参考代码:http://www.360doc.com/content/10/1006/18/3722251_58865995.shtml
追问
a1b2c3d456 他给我的结果是1234 我要的是最后456,也就是说我给的例子是abcd1234,所要的都是要最后的数字,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Regex regex = new Regex(@"\d+");
Match match = regex.Match("abcd1234");
if (!string.IsNullOrEmpty(match.Value))
{
int value=Convert.ToInt32(match.Value);
}
使用正则表达式来取最方便
追问
正则不行 我要的是后面的数字。
追答
你要结尾的数字是吧。。。你之前提问并没有说明啊!
Regex regex = new Regex(@"\d+$");
把之前的改成这个就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-11
展开全部
public static string IsNumber(String str)
{
string returnStr = string.Empty;
for (int i = 0; i < str.Length; i++)
{
if (Char.IsNumber(str, i) == true)
{
string sdfsdfsd = str.Substring(i, 1);
returnStr += str.Substring(i, 1);
}else {
string sss = str.Substring(i, 1);
if (str.Substring(i, 1) == "A" || str.Substring(i, 1) == " ")
{
returnStr += str.Substring(i, 1);
}
}
}
return returnStr;
}
追问
a1b2c3d456 他给我的结果是1234 我要的是最后456,
追答
如果是这样的话,那只能用到字符分隔了,从最后开始往前判断,直到不是数字为止,然后截取
public static string IsNumber(String str)
{
string returnStr = string.Empty;
for (int i = str.Length-1; 0 < i; i--)
{
if (Char.IsNumber(str, i) == true)
{
string sdfsdfsd = str.Substring(i, 1);
returnStr += str.Substring(i, 1);
}
else
{
break;
}
}
char[] arr = returnStr.ToCharArray();
Array.Reverse(arr);
return new string(arr);
}
加分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个比较苯的办法,建立一个符合string 长度的数组,用数组逐个读入该string,然后再比较哪些是数字,再把数字部分组合起来 convert
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询