• ベストアンサー

目印の文字列でレコードを区切りたい

お世話になります、Perl初心者です。 正規表現で探したのですがたどりつけなかったので質問させて下さい。 以下のようなレコード(文字列)があります。 「abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs」 これを「abc」で区切り以下のように3つに分けたいのです。 abcxxxiiiislslslfjdkas abcdasdsdfa;ljk abcdfs abcから次のabcまでをひとつの文字列にして変数に格納したいのです。 どうすればいいでしょうか?教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.1

文字列が $_ にはいってて @b に結果を格納する,とします 作戦その1 $_ = "abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs"; @b = /(abc.*?)(?=abc|$)/g; 上記のコードでエラーがでるようでしたら... 作戦その2 $_ = "abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs"; @a = split(/(abc)/); shift @a; @b = (); push(@b, join("", splice(@a, 0, 2))) while (@a); でどでしょ

diamond2003
質問者

お礼

お礼が遅くなってすみません。ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

@data = split(/abc/,"abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs"); して、"abc" . $data[n]; する

diamond2003
質問者

お礼

お礼が遅くなってすみません。ありがとうございました。

関連するQ&A