一道简单java编程题

hy519 2012-11-13 11:22:50
有一个字符串str="今天是2012年,现在事11月13号";写一个算法求打印结果为[2012,11,13];
...全文
241 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ff320232 2012-11-14
  • 打赏
  • 举报
回复
學習了
wapigzhu 2012-11-14
  • 打赏
  • 举报
回复
引用 7 楼 hy519 的回复:
如果str="级阿文111的稳2223定33344我";4楼这样的话如果要求打印结果为[111,2223,33344],你那个方法好想不适应了吧!

System.out.println("今天是2012年,现在事11月13号".replaceAll(
				"今天是(\\d+)年,现在事(\\d+)月(\\d+)号", "[$1,$2,$3]"));
hy519 2012-11-14
  • 打赏
  • 举报
回复
如果str="级阿文111的稳2223定33344我";4楼这样的话如果要求打印结果为[111,2223,33344],你那个方法好想不适应了吧!
raistlic 2012-11-14
  • 打赏
  • 举报
回复
引用 4 楼 suwei2002 的回复:
直接用SimpleDateFormat把日期取出来就行了: Java code?1234567891011121314151617181920212223package com.codetest.test; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util……
+1
student-ai 2012-11-14
  • 打赏
  • 举报
回复
引用 2 楼 wapigzhu 的回复:
System.out.println("今天是2012年,现在事11月13号".replaceAll(".*?(\\d+).*?(\\d+).*?(\\d+).*", "[$1,$2,$3]"));
强烈学习啊。。我写了一晚上没写出来。。。原来一个正则表达式就可以解决了......谢谢
Alexander 2012-11-14
  • 打赏
  • 举报
回复
直接用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();
		}
	}
}
wapigzhu 2012-11-13
  • 打赏
  • 举报
回复
System.out.println("今天是2012年,现在事11月13号".replaceAll(".*?(\\d+).*?(\\d+).*?(\\d+).*", "[$1,$2,$3]"));
我为JAVA狂 2012-11-13
  • 打赏
  • 举报
回复
str.split("\\d");

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧