package main import ( "fmt" "strings" ) // ParseChat Parses a string, returns the payload of the chat func ParseChat(chatline string) (LineDate string, LineTime string, LineUser string, LinePayload []string) { words := strings.Fields(chatline) //fmt.Println(len(words)) //var LineDate string //var LineTime string //var LineUser string //var LinePayload []string var SplitFound int for i := range words { if i == 1 { LineDate = words[i] } if i == 2 { LineTime = words[i] } if i >= 5 && SplitFound == 1 { LinePayload = append(LinePayload, words[i]) } if words[i] == ">" { SplitFound = 1 } if i >= 4 && SplitFound == 0 { if LineUser == "" { LineUser = words[i] } else { LineUser = LineUser + " " + words[i] } } } //fmt.Println(LineDate) //fmt.Println(LineTime) //fmt.Println(LineUser) //fmt.Println(LinePayload) return } func main() { mystring := "��[ 2022.02.07 19:57:52 ] Samoa Serine > BY-7PY Morretus Isayeki nv" LineDate, LineTime, LineUser, Payload := ParseChat(mystring) fmt.Println("On " + LineDate + " " + LineTime + " " + LineUser + " posted the following: ") fmt.Println(Payload) }