Ангел обнови решението на 23.10.2015 15:30 (преди над 2 години)
+package main
+
+import "strings"
+
+// ExtractColumn gets specified column from each line
+func ExtractColumn(logContents string, column uint8) (columnContents string) {
+ for _, line := range strings.Split(logContents, "\n") {
+ columns := strings.Split(line, " ")
+ if column == 0 && len(columns) > 1 {
+ columnContents += columns[0] + " " + columns[1] + "\n"
+ } else if column == 1 && len(columns) > 2 {
+ columnContents += columns[2] + "\n"
+ } else if column == 2 && len(columns) > 3 {
+ columnContents += strings.Join(columns[3:], " ") + "\n"
+ }
+ }
+ return
+}
Mного добро и кратко решение.
Kато забележка мога само да отбележа че всяка конкатенация на стрингове прави нови такива, ако имаш желание може да се опиташ да ги намалиш.