Perl Language
引用符のついていないセパレータで文字列を分割する
サーチ…
parse_line()
Text :: ParseWordsの parse_line()
の使用:
use 5.010;
use Text::ParseWords;
my $line = q{"a quoted, comma", word1, word2};
my @parsed = parse_line(',', 1, $line);
say for @parsed;
出力:
"a quoted, comma"
word1
word2
テキスト:: CSVまたはテキスト:: 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";
出力:
a quoted, comma
word1
word2
ノート
デフォルトでは、Text :: CSVは区切り文字の周りの空白を
Text::ParseWords
ません。Text::ParseWords
はText::ParseWords
やり方です。ただし、コンストラクタの属性にallow_whitespace=>1
を追加すると、その効果が得られます。my $csv = Text::CSV_XS->new({sep_char => $sep_char, allow_whitespace=>1});
出力:
a quoted, comma word1 word2
ライブラリはエスケープする特殊文字(引用符、区切り文字)
ライブラリは設定可能な区切り文字、引用文字、およびエスケープ文字をサポートしています
Documentatoin: http : //search.cpan.org/perldoc/Text :: CSV
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow