Perl Language
Dela upp en sträng på icke-citerade separatorer
Sök…
parse_line ()
Använda parse_line()
av Text :: ParseWords :
use 5.010;
use Text::ParseWords;
my $line = q{"a quoted, comma", word1, word2};
my @parsed = parse_line(',', 1, $line);
say for @parsed;
Produktion:
"a quoted, comma"
word1
word2
Text :: CSV eller Text :: CSV_XS
use Text::CSV; # Can use Text::CSV which will switch to _XS if installed
$sep_char = ",";
my $csv = Text::CSV->new({sep_char => $sep_char});
my $line = q{"a quoted, comma", word1, word2};
$csv->parse($line);
my @fields = $csv->fields();
print join("\n", @fields)."\n";
Produktion:
a quoted, comma
word1
word2
OBSERVERA
Som standard raderar Text :: CSV inte mellanrum mellan separatortecken, på samma sätt som
Text::ParseWords
. Att lägga tillallow_whitespace=>1
till konstruktörens attribut uppnår dock effekten.my $csv = Text::CSV_XS->new({sep_char => $sep_char, allow_whitespace=>1});
Produktion:
a quoted, comma word1 word2
Biblioteket stöder undkommande specialtecken (citat, separatorer)
Biblioteket stöder konfigurerbart separatortecken, citatkaraktär och flyktecken
Documentatoin: http://search.cpan.org/perldoc/Text::CSV
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow