为了账号安全,请及时绑定邮箱和手机立即绑定

java如何从一串数字中提取指定位置的数字

java如何从一串数字中提取指定位置的数字

__空白__ 2016-11-16 19:35:25
是int类型
查看完整描述

3 回答

已采纳
?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

首先你把int转化为String这个你会把,然后用String自带的方法,好像是charAt(int i)就行

查看完整回答
反对 回复 2016-11-16
?
慕粉1471805761

TA贡献4条经验 获得超2个赞

String number = 123 + “”;这样number就是一个字符串了。number的长度为3,索引为0,1,2。分别对应的是1,2,3。int a = (int)number.charAt(索引)。用对应的索引就能取出对应的数字了。
查看完整回答
反对 回复 2016-11-16
?
木子李3317704

TA贡献9条经验 获得超9个赞

比如 int i = 123456; 

System.out.println(123456/100000);    //输出1

System.out.println(123456/10000%10);   //输出2

System.out.println(123456/1000%10);    //输出3

System.out.println(123456/100%10);    //输出4

System.out.println(123456/10%10);    //输出5

System.out.println(123456%10);    //输出6


查看完整回答
反对 回复 2016-11-16
  • __空白__
    __空白__
    那我如何提取比如23,34呢?
  • 木子李3317704
    木子李3317704
    其实这种用正则匹配最容易获取。只是看到这个问题想到了我几个月自学的时候是这样做的。 现在工作了,补上了正则表达式的相关知识,就显得简单了。 首先,int 123456转成String。可以通过 (123456+"") 、或者String.valueOf(123456)、或者((Integer)123456).toString() 转成字符串。一般用第二种,显得正规一点。不过有时候你懒得打的话第一种就行。 转成字符串之后,那就容易了。首先,字符串有一个 toCharArray()方法,是将字符串转为String类型的数组的String[] str = s.toCharArray(),就是字符串的第一位就是数组的[0],这样你就可以通过下标来获取你你想要的字符串。比如你要23,那就是str[1]和str[2]嘛。当然,这是初学者的获取方法。 你学一点正则之后就可以不用那么麻烦,可以直接用正则表达式匹配你想要的值了。比如,还是获取23,你可以这样 String s = (123456+"").replaceAll(".+(23).+","$1"); 那么s就是字符串 23了。如果要转为整数,再另外转。 说一下String类的replaceAll这个方法。方法两个参数,左边是写正则表达式,如我写的".+(23).+",这个正则表达式是说在(123456+"")这个字符串里,我只要括号里面的(23),后面的参数"$1",就是拿到左边正则表达式第一个括号的值。 你可以试试看,不难的。 敲一下就发现不外如是。 用正则表达式是我参加工作之后才学的,现在几乎每天都用来在txt文件之类的查找指定数据。(基层码农的工作任务之一)。 另外,祝好。加油。
?
__空白__

TA贡献1条经验 获得超0个赞

初学者,不是太会。不知道您能不能把它解释的再详细一点
查看完整回答
反对 回复 2016-11-16
  • 按照自己的节奏前行
    按照自己的节奏前行
    使用String.valueOf(里面是数字)将int转化为String类型,使用str.charAt(index)index就是位置,获得第index-1位置的字符
  • 3 回答
  • 0 关注
  • 6802 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信