Plik names.txt składa się z wielu nazwisk w formie:strings.Split Przejdź
"KELLEE","JOSLYN","JASON","INGER","INDIRA","GLINDA","GLENNIS"
Czy ktoś wie, jak podzielić ciąg tak, że poszczególne nazwy oddzielone przecinkami?
KELLEE,JOSLYN,JASON,INGER,INDIRA,GLINDA,GLENNIS
Poniższy kod dzieli przecinkiem i pozostawia cudzysłowy wokół nazwy, co jest znakiem ucieczki, aby podzielić się z "
. Czy można to zrobić w jednym wyrażeniu Split, dzieląc ","
i pozostawiając przecinek do oddzielenia?
package main
import "fmt"
import "io/ioutil"
import "strings"
func main() {
fData, err := ioutil.ReadFile("names.txt") // read in the external file
if err != nil {
fmt.Println("Err is ", err) // print any error
}
strbuffer := string(fData) // convert read in file to a string
arr := strings.Split(strbuffer, ",")
fmt.Println(arr)
}
Nawiasem mówiąc, jest to część projektu Euler problem # 22. http://projecteuler.net/problem=22
To nie jest plik csv, ponieważ istnieje tylko jeden wiersz: http://projecteuler.net/project/names.txt –
Och, masz rację. Jest to plik CSV z pojedynczą linią :) – tux21b
Plus jeden do użytku z Fscanf :-) –