gofmt
This commit is contained in:
parent
582365a790
commit
4806216045
|
@ -29,19 +29,19 @@ var EnclosersRunes = map[EncloserId]Encloser{
|
||||||
CurlyBrackets: Encloser{'{', '}'},
|
CurlyBrackets: Encloser{'{', '}'},
|
||||||
}
|
}
|
||||||
|
|
||||||
type CsvParser struct {
|
type Parser struct {
|
||||||
Enclosers []EncloserId
|
Enclosers []EncloserId
|
||||||
Delimiter string
|
Delimiter string
|
||||||
Fields []string
|
Fields []string
|
||||||
Line string
|
Line string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (parser *CsvParser) Init() {
|
func (parser *Parser) Init() {
|
||||||
parser.Enclosers = []EncloserId{DoubleQuotes, SquareBrackets}
|
parser.Enclosers = []EncloserId{DoubleQuotes, SquareBrackets}
|
||||||
parser.Delimiter = " \t"
|
parser.Delimiter = " \t"
|
||||||
}
|
}
|
||||||
|
|
||||||
func (parser *CsvParser) ExtractEnclosedFieldValue(endChar byte) error {
|
func (parser *Parser) ExtractEnclosedFieldValue(endChar byte) error {
|
||||||
lineLen := len(parser.Line)
|
lineLen := len(parser.Line)
|
||||||
for i := 1; i < lineLen; i++ {
|
for i := 1; i < lineLen; i++ {
|
||||||
if parser.Line[i] == endChar && parser.Line[i-1] != '\\' {
|
if parser.Line[i] == endChar && parser.Line[i-1] != '\\' {
|
||||||
|
@ -53,7 +53,14 @@ func (parser *CsvParser) ExtractEnclosedFieldValue(endChar byte) error {
|
||||||
return errors.New("Encloser close not found")
|
return errors.New("Encloser close not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (parser *CsvParser) Parse(CsvLine string) error {
|
/*
|
||||||
|
* Usage:
|
||||||
|
* import "../csv-parser/"
|
||||||
|
* var parser csvparser.Parser
|
||||||
|
* parser.init()
|
||||||
|
* parser.Parse("a b c d")
|
||||||
|
*/
|
||||||
|
func (parser *Parser) Parse(CsvLine string) error {
|
||||||
var err error = nil
|
var err error = nil
|
||||||
|
|
||||||
parser.Fields = make([]string,0)
|
parser.Fields = make([]string,0)
|
||||||
|
|
|
@ -6,7 +6,7 @@ import(
|
||||||
|
|
||||||
|
|
||||||
func TestParse(t *testing.T) {
|
func TestParse(t *testing.T) {
|
||||||
var parser CsvParser
|
var parser Parser
|
||||||
|
|
||||||
var CsvTestValues = [...]string {
|
var CsvTestValues = [...]string {
|
||||||
"field1 field2 field3", // standard CSV
|
"field1 field2 field3", // standard CSV
|
||||||
|
@ -38,7 +38,7 @@ func TestParse(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func TestParseWithEscape(t *testing.T) {
|
func TestParseWithEscape(t *testing.T) {
|
||||||
var parser CsvParser
|
var parser Parser
|
||||||
|
|
||||||
var CsvTestValues = [...]string {
|
var CsvTestValues = [...]string {
|
||||||
"\"\\\"field1 and more\" field2 [\\[field3] ", // Enclosed fields
|
"\"\\\"field1 and more\" field2 [\\[field3] ", // Enclosed fields
|
||||||
|
|
Loading…
Reference in New Issue