- ベストアンサー
目印の文字列でレコードを区切りたい
お世話になります、Perl初心者です。 正規表現で探したのですがたどりつけなかったので質問させて下さい。 以下のようなレコード(文字列)があります。 「abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs」 これを「abc」で区切り以下のように3つに分けたいのです。 abcxxxiiiislslslfjdkas abcdasdsdfa;ljk abcdfs abcから次のabcまでをひとつの文字列にして変数に格納したいのです。 どうすればいいでしょうか?教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字列が $_ にはいってて @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); でどでしょ
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
@data = split(/abc/,"abcxxxiiiislslslfjdkasabcdasdsdfa;ljkabcdfs"); して、"abc" . $data[n]; する
質問者
お礼
お礼が遅くなってすみません。ありがとうございました。
お礼
お礼が遅くなってすみません。ありがとうございました。