Йончо обнови решението на 21.10.2015 15:25 (преди над 2 години)
+package main
+
+import (
+ "bytes"
+ "strings"
+)
+
+func ExtractColumn(logContents string, column uint8) string {
+
+ var buffer bytes.Buffer
+ content := strings.Split(logContents, "\n")
+ for i := 0; i < len(content)-1; i++ {
+ columns := strings.Split(content[i], " ")
+ if column == 0 {
+ buffer.WriteString(columns[0])
+ buffer.WriteString(" ")
+ buffer.WriteString(columns[1])
+ buffer.WriteString(" ")
+ }
+ if column == 1 {
+ buffer.WriteString(columns[2])
+ buffer.WriteString(" ")
+ }
+ if column == 2 {
+ for j := 3; j < len(columns); j++ {
+ buffer.WriteString(columns[j])
+ buffer.WriteString(" ")
+ }
+ }
+
+ buffer.WriteString("\n")
+ }
+ return buffer.String()
+}
Quick and dirty first itteration :) После ще мисля опростяване (например switch).
интересно ми е защо добавяш интервала след всяка колона? реда:
buffer.WriteString(" ")