質問: うまい方法が思いつかないので力を貸してください。 PHPを使ったプログラムの質問です。 3桁のコードが6セット繋がった18桁固定の文字列があります。 コードは6セット必ずある訳ではなく任意のセット数となります。 6セット未満の場合は後ろがゼロで埋まっています。 1セットだけであれば 001000000000000000 3セットであれば 001002003000000000 こんな感じの文字列になっています。 この文字列からコードがある部分だけを取り出したいです。 後ろの0が不要なので単純にrtrimで0を取り除いてしまうと必要以上に0が取れてしまう場合があります。(最後のコードが010や200など) とりあえずは * 後ろから1文字ずつ確認して3回連続で0であれば削除する * rtrim後に文字列長が3の倍数でなければ0を足す などの方法で実装しましたがスマートな方法があれば教えてください。
回答: 正規表現でやってみてはどうでしょうか。 ``` $trimmed = preg_replace('/(000)+$/', '', $code); ```