我想在一个文件中放入一些正则表达式并用分号(或其他东西)分隔另一个表达式,即:
orderNumber:* completionStatus;orderNumber:X completionStatus
我将有一个日志文件将有:
.... orderNumber:123 completionStatus...
我希望它们看起来像:
.... orderNumber:X completionStatus...
我怎样才能在 Java 中做到这一点?
我尝试使用(键:正则表达式和值:替换)创建一个 Map,读取我的日志文件并为每一行尝试匹配键,但我的输出看起来相同。
FileInputStream fstream = new FileInputStream(file);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader( in ));
FileWriter fstreamError = new FileWriter(myFile.replace(".", "Replaced."));
BufferedWriter output = new BufferedWriter(fstreamError);
while ((strFile = br.readLine()) != null) {
for (String clave: expressions.keySet()) {
Pattern p = Pattern.compile(clave);
Matcher m = p.matcher(strFile); // get a matcher object
strFile = m.replaceAll(expressions.get(clave));
System.out.println(strFile);
}
}
对此有什么想法吗?