一个JAVA字符串处理的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:30:00
现在有如下字符串:
234ababa,2006,34534534534zcvasfa
afdafasdf,1999,avasdfdsdasf
zxcvzvf,adfasdfa,2000年,23q42323
232342sdsdsd,ddsfsdfsd,1999(年),sfsfdfdsd

请问如何写个CLASS能够把,2006,1999,1999,2000这样的年的信息读出来

public static void main(String[] argv)
{
int pos =0;
String str = "aaaaa2009...2008,,,,2007,,,,1990,,,fdffdfdfdfkdfdfhd2004";
//这里看情况,可以改多点
for (int i=1990;i<2009;i++){
String temp = String.valueOf(i);
pos=str.indexOf(temp);
if (pos>0)System.out.println(temp+" is here");
}
}

运行结果:

1990 is here

2004 is here

2007 is here

2008 is here

补充: 如果一个年份存在多次,用不用把多次的位置都找出呢,如果需要,
发消息给我,我再改.

写个检测类,data从1900至今 然后与字符串比较 过滤出年份来

你如果是指定年份的话用正则也可以,如果是所有年份的话还是用前面几位提得方法吧。

import java.util.StringTokenizer;

public class YearTest {
public static void main(String args[]){
String source = "234ababa,2006,34534534534zcvasfa,afdafasdf,1999,avasdfdsdasf,zxcvzvf,adfasdfa,2000年,23q42323,232342sdsdsd,ddsfsdfsd,1999(年),sfsfdfdsd";
String temp = null;
StringTokenizer st