C#中怎么在一组string型的数字和字母组合的数中提取数字部分,并转换成int型?

例如:abcd1234(string)怎么提取其中的1234,并转换成Int型?... 例如:abcd1234(string)怎么提取其中的1234,并转换成Int型? 展开
 我来答
百度网友97b5a46fa2
推荐于2018-03-28 · TA获得超过135个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:128万
展开全部
把string转换成char,然后判断char,如果是数字的话添加进一个list中,最后把list中的元素读成一个字符串,然后转换成int
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
然后去远足
2014-03-11 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2377万
展开全部
给提供个思路吧,再定义一个 string,假如为 strNum,然后在 for 循环里逐个读取 abcd1234 的字幕,如果是数字就 + 到 strNum 里,最后把 strNum 强转一下就行了。

参考代码:http://www.360doc.com/content/10/1006/18/3722251_58865995.shtml
追问
a1b2c3d456  他给我的结果是1234  我要的是最后456,也就是说我给的例子是abcd1234,所要的都是要最后的数字,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why91113
2014-03-11 · TA获得超过137个赞
知道小有建树答主
回答量:72
采纳率:0%
帮助的人:110万
展开全部
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);
    }

加分

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Winangel
2014-03-11 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:55.4万
展开全部
一个比较苯的办法,建立一个符合string 长度的数组,用数组逐个读入该string,然后再比较哪些是数字,再把数字部分组合起来 convert
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式