我想在一個.csv文件的行中找到正則表達式,所以我最終可以保存所有匹配到另一個文件,並失去所有其他垃圾。打印一個字符串,其中包含一個特定的模式在Java
所以在我的文件中的行可能看起來像: 計算機名,用戶,IP,VariableData,位置
的VariableData是我想匹配的東西,如果有一個匹配,打印線。我爲此使用了一種模式,因爲我只想要VariableData的10個變體中的3個,而在這3個變體中,它們的編號不同(例如,「pc104,pccrt102,pccart65」)。
我正在嘗試使用掃描器類來做到這一點,並儘可能保持簡單,以便我能理解它。這是我帶着這個去的地方...(模式不完整,只是讓它像這樣進行測試)。
import java.io.File;
import java.util.Scanner;
import java.util.regex.Pattern;
public class pcv {
public static void main(String[] args) {
File myFile = new File("c:\\temp\\report.csv");
Pattern myPat = Pattern.compile("pc");
try{
Scanner myScan = new Scanner(myFile);
while(myScan.hasNext()){
if(myScan.hasNext(myPat)){
System.out.println("Test");
}
}
}catch(Exception e){
}
}
}
此代碼循環,即時猜測()方法被複位本身.hasNext。我已經玩了一下Matcher類,但只找到了匹配表達式的方法,但沒有得到整個線條。
我的其他經歷可能以某種方式計算包含該模式的行,然後返回並打印與計數對應的行。
我知道它的語義,但不會_match_模式,不_contain_它? – 2010-03-20 14:58:01