读书人

一路简单java编程题

发布时间: 2012-12-17 09:31:40 作者: rapoo

一道简单java编程题
有一个字符串str="今天是2012年,现在事11月13号";写一个算法求打印结果为[2012,11,13];
[最优解释]
直接用SimpleDateFormat把日期取出来就行了:


package com.codetest.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("今天是yyyy年,现在是MM月dd号");
String str="今天是2012年,现在是11月13号";

try{
Date date=sdf.parse(str);

sdf.applyPattern("[yyyy,MM,dd]");

System.out.println(sdf.format(date));
}catch(ParseException ex){
ex.printStackTrace();
}
}
}


[其他解释]
str.split("\\d");
[其他解释]
System.out.println("今天是2012年,现在事11月13号".replaceAll(".*?(\\d+).*?(\\d+).*?(\\d+).*", "[$1,$2,$3]"));
[其他解释]

[其他解释]
引用:
System.out.println("今天是2012年,现在事11月13号".replaceAll(".*?(\\d+).*?(\\d+).*?(\\d+).*", "[$1,$2,$3]"));


强烈学习啊。。我写了一晚上没写出来。。。原来一个正则表达式就可以解决了......谢谢
[其他解释]
引用:
直接用SimpleDateFormat把日期取出来就行了:
Java code?1234567891011121314151617181920212223package com.codetest.test; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util……


+1
[其他解释]
如果str="级阿文111的稳2223定33344我";4楼这样的话如果要求打印结果为[111,2223,33344],你那个方法好想不适应了吧!
[其他解释]
引用:
如果str="级阿文111的稳2223定33344我";4楼这样的话如果要求打印结果为[111,2223,33344],你那个方法好想不适应了吧!


System.out.println("今天是2012年,现在事11月13号".replaceAll(
"今天是(\\d+)年,现在事(\\d+)月(\\d+)号", "[$1,$2,$3]"));

读书人网 >J2SE开发

热点推荐