根据您提供给我们的信息,您只需将子字符串从 0带到]
.
string ExtractFirstColumn(line) {
int index = line.IndexOf("]");
string firstColumn = line.Substring(0, index + 1);
return firstColumn;
}
正如您所要求的,这将为您提供整个第一列。然后,您将为每一行执行此操作。然后,如果这些都在一个文件中,您可以说:
var lines = File.ReadLines(log);
var firstColumns = lines.Select(line => ExtractFirstColumn(line));
然后,如果您需要拆分第一列,您可以拆分' '
:
var tokens = firstColumn.Split(' ');
// tokens[0].Remove("[") is the data
// tokens[1] is the time
// tokens[2].Remove("]") is "CDF"
如果您需要的不仅仅是第一列,正如您现在在评论中指出的那样1,您将不得不采取一些不同的方式:
string[] ExtractColumns(string line) {
int index = line.IndexOf("]");
string firstColumn = line.Substring(0, index + 1);
string[] lastTwoColumns = line.Substring(index + 2).Split(' ');
return new string[] { firstColumn, lastTwoColumns[1], lastTwoColumns[2] };
}
我只是从你给我们的两个例子开始,但我会从这个非常简单、可维护的方法开始,没有新信息。
1:这就是为什么关于如何提问的指导方针说要具体。