84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
字符串同时有三种格式,如下,需要获取字符串中的时间,即2015-05-01 21:35,16小时,15分钟"文章由xxx 于2015-05-01 21:35分享""文章由xxx 于16小时前分享""文章由xxx 于15分钟前分享"注:xxx为用户名
用什么方式可以比较高效地截取时间信息?
我知道正则君强大,能提供详细思路就更好了。。。
闭关修行中......
如果只有这三种的话: (\d{4}-\d{2}-\d{2} \d{2}:\d{2})|(\d{1,2}小时)|(\d{1,2}分钟)
Java 没怎么碰过,给个思路吧,首先正则直接匹配/于(.+?)分享/g,获取到时间字符串,直接 Date 化看是否成功,如果成功则获取到了没成功则是词义化的时间,自己写一个函数根据当前时间推断词义化时间的具体时间。
/于(.+?)分享/g
正则表达式(逃
补充答案:String str="文章由xxx 于2015-05-01 21:35分享";方法一:(简单粗暴)
int start=str.lastIndexOf("于"); int end=str.lastIndexOf("分享"); String result=str.substring(start+1,end);
方法二:(正则)
String regEx="(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2})|(\\d{1,2}小时)|(\\d{1,2}分钟)"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); if(m.find()){ String result=m.group(); }
注:常规法,不能处理掉“前”字;Java的正则表达式单斜杠变为双斜杠,否则会报错Invalid escape sequence
用正则表达式。
如果只有这三种的话: (\d{4}-\d{2}-\d{2} \d{2}:\d{2})|(\d{1,2}小时)|(\d{1,2}分钟)
Java 没怎么碰过,给个思路吧,首先正则直接匹配
/于(.+?)分享/g
,获取到时间字符串,直接 Date 化看是否成功,如果成功则获取到了没成功则是词义化的时间,自己写一个函数根据当前时间推断词义化时间的具体时间。正则表达式(逃
补充答案:
String str="文章由xxx 于2015-05-01 21:35分享";
方法一:(简单粗暴)
方法二:(正则)
注:常规法,不能处理掉“前”字;Java的正则表达式单斜杠变为双斜杠,否则会报错Invalid escape sequence
用正则表达式。