我想从日志文件中提取一段信息。我正在使用的模式是节点名称和命令的提示。我想提取命令输出的信息并进行比较。考虑下面的示例输出
NodeName > command1
this is the sample output
NodeName > command2
this is the sample output我已经尝试了下面的代码。
public static void searchcommand( String strLineString)
{
String searchFor = "Nodename> command1";
String endStr = "Nodename";
String op="";
int end=0;
int len = searchFor.length();
int result = 0;
if (len > 0) {
int start = strLineString.indexOf(searchFor);
while(start!=-1){
end = strLineString.indexOf(endStr,start+len);
if(end!=-1){
op=strLineString.substring(start, end);
}else{
op=strLineString.substring(start, strLineString.length());
}
String[] arr = op.split("%%%%%%%");
for (String z : arr) {
System.out.println(z);
}
start = strLineString.indexOf(searchFor,start+len);
}
}
}问题是代码太慢而无法提取数据。有没有其他方法可以这样做?
编辑1
它是我在上面的代码中读到的一个字符串的日志文件。