这个程序 一开始贴上回复的时候 忘记关了数据流 教训教训。
通过这个程序 复习了一下正则表达式 对分组又有了进一步的了解 ^_^。
/**//*
input1.txt文件文件内容如下:
1 book at 12.49
1 music CD at 14.99
1 chocolate bar at 0.85
我现在要做的是:
读取文件的每一行,然后将每一行的开始数字、name、at之后的数字取出来
例:
读取行 1 music CD at 14.99
结果为 ID = 1; name = music CD; price = 14.99;
我对正则表达式一点也不懂,有详细代码最好!
望各位指点!(急)
* */
package test1;
import java.util.regex.*;
import java.io.*;
public class Test2
...{
/** *//**
* @param args
*/
public static void main(String[] args)
...{
String regex="(/d+)/s(.*?)at/s([0-9/.])+";
//String regex="(/d+) (.*?) at ([0-9/.])+";
Pattern pt=Pattern.compile(regex);
//读取文件数据
try
...{
FileInputStream fis=new FileInputStream("test.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
String s;
while((s=br.readLine())!=null)
...{
Matcher mt=pt.matcher(s);
while(mt.find())
...{
System.out.println("ID="+mt.group(1));
System.out.println("Name="+mt.group(2));
System.out.println("Price="+mt.group(3));
System.out.println();
}
}
br.close();
isr.close();
fis.close();
}
catch(FileNotFoundException e)
...{
e.printStackTrace();
}
catch(Exception e)
...{
e.printStackTrace();
}
}
}
input1.txt文件文件内容如下:
1 book at 12.49
1 music CD at 14.99
1 chocolate bar at 0.85
我现在要做的是:
读取文件的每一行,然后将每一行的开始数字、name、at之后的数字取出来
例:
读取行 1 music CD at 14.99
结果为 ID = 1; name = music CD; price = 14.99;
我对正则表达式一点也不懂,有详细代码最好!
望各位指点!(急)
* */
package test1;
import java.util.regex.*;
import java.io.*;
public class Test2
...{
/** *//**
* @param args
*/
public static void main(String[] args)
...{
String regex="(/d+)/s(.*?)at/s([0-9/.])+";
//String regex="(/d+) (.*?) at ([0-9/.])+";
Pattern pt=Pattern.compile(regex);
//读取文件数据
try
...{
FileInputStream fis=new FileInputStream("test.txt");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
String s;
while((s=br.readLine())!=null)
...{
Matcher mt=pt.matcher(s);
while(mt.find())
...{
System.out.println("ID="+mt.group(1));
System.out.println("Name="+mt.group(2));
System.out.println("Price="+mt.group(3));
System.out.println();
}
}
br.close();
isr.close();
fis.close();
}
catch(FileNotFoundException e)
...{
e.printStackTrace();
}
catch(Exception e)
...{
e.printStackTrace();
}
}
}