java从文件流中读取数字问题
今天参加了个什么什么软件大赛。。最后有几题关于文件解析的没有思路。。求大神指点!
题目大概是这样:一个txt文件中有很多字符,比如:dstd!#$%GHdfasdfahpoh4891deiiqoe3981dfhih131345hdoihadf9387
现在要从这个文件里把所有的数字提取出来,应该用什么方法呢?最好几行具体代码。。比如什么函数?split()可以么?
还有一题是:一个txt文件中有很多字符,比如:ewrewr123dfqefrqewr123ewrqwer456rwtert456rtwergwgr123rkojow,
现在要统计123出现的次数和456出现的次数。。该怎么办呢。。。
求大神指点!求大神指点!求大神指点!求大神指点!
------解决方案--------------------用正则表达式,还有Pattern和Matcher类,去看这两个类的API吧,用起来简单明了
------解决方案--------------------我不会正则表达式,自己写代码实现了,效率可能不是很好,但是能完成题目要求的。
直接给代码了,虽然不是很好,你自己再琢磨琢磨吧。
题目一
Java code
public static void main(String[] args) {
//读文件的代码就不用写了吧,假设文件内容已经读取到str变量中
String str="dstd!#$%GHdfasdfahpoh4891deiiqoe3981dfhih131345hdoihadf9387";
StringBuffer newStr=new StringBuffer();
byte[] arr=str.getBytes();
//遍历字符串的所有字符,判断为数字就保存起来
for (byte b : arr) {
if(b>=48 && b<=57)
newStr.append((char)b);
}
System.out.println("所有的数字:"+newStr);
}