Perl Language
Dividi una stringa sui separatori non quotati
Ricerca…
parse_line ()
Utilizzo di parse_line()
di Testo :: Analisi preliminari :
use 5.010;
use Text::ParseWords;
my $line = q{"a quoted, comma", word1, word2};
my @parsed = parse_line(',', 1, $line);
say for @parsed;
Produzione:
"a quoted, comma"
word1
word2
Testo :: CSV o Testo :: 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";
Produzione:
a quoted, comma
word1
word2
GLI APPUNTI
Per impostazione predefinita, Text :: CSV non elimina lo spazio bianco attorno al carattere separatore, come fa
Text::ParseWords
. Tuttavia, l'aggiunta diallow_whitespace=>1
agli attributi del costruttore ottiene quell'effetto.my $csv = Text::CSV_XS->new({sep_char => $sep_char, allow_whitespace=>1});
Produzione:
a quoted, comma word1 word2
La libreria supporta l'escape di caratteri speciali (virgolette, separatori)
La libreria supporta caratteri separatori configurabili, carattere di citazione e carattere di escape
Documentatoin: http://search.cpan.org/perldoc/Text::CSV
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow