Exemple #1
0
        public DelimitedTextParser(char elementSeparator)
        {
            var any = new AnyTextParser();

            var elementSeparatorParser = any.Char(elementSeparator);

            var escapeEscape = any.Chars('\\', '\\');
            var escapeQuote  = any.Chars('\\', '\"');

            var validChars = any.Char(x => x != elementSeparator);

            TextParser rawString = validChars.ZeroOrMore();

            var quotedChars = escapeEscape.Or(escapeQuote).Or(any.Char(x => x != '\"'));

            var quotedText = from open in any.Char('\"')
                             from cs in quotedChars.ZeroOrMore()
                             from close in any.Char('\"')
                             select cs;

            var value = quotedText.Or(rawString);

            _parser = from vs in value.Split(elementSeparatorParser)
                      select vs;
        }
Exemple #2
0
 public TextParserBuilder()
 {
     Any  = new AnyTextParser();
     Char = Any.Char();
 }