Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melakukan Pemisahan Kanan-ke-Kiri pada Contoh Pembatas Terakhir dalam Rentetan?

Bagaimana untuk Melakukan Pemisahan Kanan-ke-Kiri pada Contoh Pembatas Terakhir dalam Rentetan?

Barbara Streisand
Barbara Streisandasal
2024-10-21 15:24:02785semak imbas

How to Perform a Right-to-Left Split on the Last Delimiter Instance in a String?

Meletup pada Contoh Pembatas Terakhir: Pendekatan Kanan-ke-Kiri

Tugas yang diberikan ialah membelah rentetan pada pembatas tertentu tetapi hanya pertimbangkan kejadian terakhir pembatas itu. Walaupun fungsi pemisahan rentetan biasa seperti explode() berfungsi dari kiri ke kanan, terdapat cara unik untuk mencapai hasil yang diingini.

Pertimbangkan contoh berikut:

$split_point = ' - ';
$string = 'this is my - string - and more';

Matlamatnya adalah untuk membelah rentetan pada contoh terakhir pembatas "-", menghasilkan tatasusunan seperti:

$item[0] = 'this is my - string';
$item[1] = 'and more';

Daripada menggunakan explode() dari kiri ke kanan, kita boleh membalikkan rentetan dan membalikkan tatasusunan yang terhasil:

$result = array_map('strrev', explode($split_point, strrev($string)));

Pendekatan ini melibatkan:

  1. Menterbalikkan rentetan ($rentetan) untuk melakukan pemisahan dari kanan ke kiri.
  2. Panggilan explode() pada rentetan terbalik untuk membelahnya pada pembatas.
  3. Memetakan strrev() ke tatasusunan yang terhasil untuk membalikkan setiap elemen.

Fungsi array_map() digunakan untuk menggunakan strrev() kepada setiap elemen dalam tatasusunan. Output sebenar ialah:

array (
  0 => 'and more',
  1 => 'string',
  2 => 'this is my',
)

Teknik ini mungkin bukan penyelesaian yang paling cekap, tetapi ia berjaya mencapai matlamat untuk meledak pada contoh pembatas terakhir dengan membalikkan rentetan dan membalikkan hasilnya.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Pemisahan Kanan-ke-Kiri pada Contoh Pembatas Terakhir dalam Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn