以下の内容はhttps://plugout.hateblo.jp/entry/2020/07/03/141758より取得しました。


【Perl】splitの際にエスケープされているものを含めないようにする

タイトルの通り。

例えば「,(カンマ)」の場合。

CSVファイルの1行なんかを簡易的に「,(カンマ)」でsplitしたい場合、バックスラッシュなどでエスケープされている物はsplitの対象としたくなかったりする。

その場合はsplitで正規表現を用いて、以下のようにすれば良い。

例: sample.pl

#!/bin/perl
my $str = "hoge\\,fuga,piyo";
my @array = split(/(?<!\\),/, $str);
foreach (@array) {
  print $_."\n";
}
exit;

 

出力結果: sample.pl

hoge\,fuga
piyo

実際に使う場合は考慮しなければならないことも多そうだが、割と応用は効く。

 




以上の内容はhttps://plugout.hateblo.jp/entry/2020/07/03/141758より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14