【加紧帖】分离有特定标示的字符串并进行处理 本帖最后由 xiaolinyouni 于 2011-08-19 08:55:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.String str = "123446.pdf|78593.pdf|56323.pdf"; String[] str1 = str.split("[|]");//\\|也可以 System.out.println(Arrays.toString(str1)); 第1个问题:str.split("\\|");第2个问题:/^[0-9]+[.0-9]*(\\|[0-9]+[.0-9]*\\|[0-9]+[.0-9]*)?$/ str.split("\\|"); 计算日期就可以了 split()JAVA里有,还有正则都可以 for exampleString str = "123446.pdf|78593.pdf|56323.pdf";String[] sa = str.split("[|]");Date d = new Date();SimpleDateFormat sdf = new SimpleDateFormat("d-M-yyyy");for (int i=0; i<sa.length; i++) { //sa[i] = String.format("%td-%tm-%tY/%s", d, d, d, sa[i]); sa[i] = sdf.format(d) + "/" + sa[i]; System.out.println(sa[i]);} 没看到还有第二问String[] ss = {"4455|52.3|46", "42.3|6|42", "556|52|42.6", "42", "42.3"};for (String s : ss) { if (! s.matches("\\d+([.]\\d+)?([|]\\d+([.]\\d+)?)*")) { System.out.printf("%s invalable\n", s); } else { System.out.printf("%s OK\n", s); }} 不知道LZ的意思,是不是这样?String str = "4455|52.3|46";String[] ss = str.split("[|]");for (String s : ss) { if (! s.matches("\\d+([.]\\d+)?")) { System.out.printf("%s invalable\n", s); } else { System.out.printf("%s OK\n", s); }} 不是,这是两个独立的问题,不过,多谢阿宝了,从我刚开始接触java,你就在热心的回答我的问题临时总结帖谢谢各位了,到现在第四天终于把这个项目修改完毕,累死我了。第一个问题,确实是用split解决了。第二个问题由于多次测试没有通过,结果-----------------------------我是猴嫂派来监视猴哥的...我就把这个检测功能给注释掉了。过会,我会测试每一个楼,看看哪些代码是正确的,然后分配分数。 总结帖,经过测试楼上的代码对于相应的字符串处理都能得到正确的结果。但是不知道为什么我写入在jsp页面中的javascript就不行。总之,谢谢各位,结贴!-----------------------------我是猴嫂派来监视猴哥的... 推荐一下 问了都丢人的问题!!! 高手请教~~~~~~~~~ 我刚学java,下面的程序为什么错了, 菜鸟高分求助,救急!!!! JBuilderX怎样注册? 怎么实现 自动提示栏,像JBuilder和Vc那样的 如何得到UTC时间? 请问JB有没有将应用程序转化为WIN下双击即可可执行的功能? 又一个java初级问题,送分。 做一道题,但不知做错没有。 关于socket的sendUrgentData
String[] str1 = str.split("[|]");//\\|也可以
System.out.println(Arrays.toString(str1));
String str = "123446.pdf|78593.pdf|56323.pdf";
String[] sa = str.split("[|]");
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("d-M-yyyy");
for (int i=0; i<sa.length; i++) {
//sa[i] = String.format("%td-%tm-%tY/%s", d, d, d, sa[i]);
sa[i] = sdf.format(d) + "/" + sa[i];
System.out.println(sa[i]);
}
for (String s : ss) {
if (! s.matches("\\d+([.]\\d+)?([|]\\d+([.]\\d+)?)*")) {
System.out.printf("%s invalable\n", s);
} else {
System.out.printf("%s OK\n", s);
}
}
String str = "4455|52.3|46";
String[] ss = str.split("[|]");
for (String s : ss) {
if (! s.matches("\\d+([.]\\d+)?")) {
System.out.printf("%s invalable\n", s);
} else {
System.out.printf("%s OK\n", s);
}
}
不是,这是两个独立的问题,不过,多谢阿宝了,从我刚开始接触java,你就在热心的回答我的问题临时总结帖
谢谢各位了,到现在第四天终于把这个项目修改完毕,累死我了。
第一个问题,确实是用split解决了。
第二个问题由于多次测试没有通过,结果-----------------------------
我是猴嫂派来监视猴哥的...我就把这个检测功能给注释掉了。
过会,我会测试每一个楼,看看哪些代码是正确的,然后分配分数。
经过测试楼上的代码对于相应的字符串处理都能得到正确的结果。
但是不知道为什么我写入在jsp页面中的javascript就不行。
总之,谢谢各位,结贴!
-----------------------------
我是猴嫂派来监视猴哥的...