java 从流中获取的字符串matches()方法返回false
本文介绍了java 从流中获取的字符串matches()方法返回false的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在java方法中从cvs文件读取一串字符串数据,使用matches方法进行数字正则匹配,总是返回false;
// 获取Object,返回结果为OSSObject对象
OSSObject object = ossTools.getObject(mallCouponDirect.getFilename());
// 获取Object的输入流
InputStream objectContent = object.getObjectContent();
BufferedReader br = new BufferedReader(new InputStreamReader(objectContent,"utf8"));
String s = "";
List<Integer> uidList = new ArrayList<Integer>();
while((s = br.readLine())!=null){
System.out.println(s);//打印结果是:159042459
boolean a = s.matches("[0-9]+");//a 总是false
if(a){
//...other codes
}
}
}
如果在while循环里直接把s设为159042459,a为true;
解决方案
我总是怀疑你的cvs
里读出的内容,是不是还包含了其他什么不可见字符?
这篇关于java 从流中获取的字符串matches()方法返回false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文