私はこれまでPerlを使用したことがなく、基本的な質問があります。
my $string1 = "Hi. My name is Vlad. It is snowy outside.";
my @array = split('.' $string1); ##essentially I want this, but I want the period to be kept
この文字列を「。」で分割したい しかし、私はその期間を維持したいと思います。これはどのように達成できますか?
これを行うには、lookbehindを使用できます。
split(/(?<=\.)/, $string)
正規表現は、ピリオドに続く空の文字列と一致します。
文の間の空白を同時に削除したい場合は、次のように変更できます。
split(/(?<=\.)\s*/, $string)
ポジティブとネガティブの後ろ姿はここで説明されています
ピリオドが配列内の独自の要素に分割されてもかまわない場合は、括弧を使用して、ピリオドを保持するようにsplitに指示できます。
my @array = split(/(\.)/, $string);