• ベストアンサー

重複した文字列を一つにしたい

入力された文字列から連続した特定の文字列を一つにまとめたいです。 例えば、まとめたい文字列が「123」だとすると、 「…abcdefghijk…」や 「…abcde123fghijk…」はそのままで 「…abcde123123123fghijk…」のようなものを 「…abcde123fghijk…」としたいです。 取り除くだけでしたら、 $mojiretu =~ s/123//g; で簡単だったのですが、 やり方に見当もつかず悩んでいます。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

$_ = "abcde123123123fghijk"; $mojiretsu = $_; $mojiretsu =~ s/(123)+/123/g; print $_, ' -> ', $mojiretsu; とか。

erara
質問者

お礼

解決しました。ありがとうございます。 本当は記号の意味なども理解して使わないと 少し条件が変っただけでもまたつまづくのだとは わかっているのですが、そのままコピペで使わせていただいております。

すると、全ての回答が全文表示されます。

専門家に質問してみよう