Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nombor hadapan dan belakang daripada rentetan php

Bagaimana untuk mengalih keluar nombor hadapan dan belakang daripada rentetan php

PHPz
PHPzasal
2023-03-24 15:21:271501semak imbas

Dalam PHP, kadangkala perlu mengalih keluar nombor pertama dan terakhir dalam rentetan untuk memenuhi beberapa keperluan. Artikel ini akan memperkenalkan beberapa kaedah untuk mencapai tujuan ini.

Kaedah 1: Gunakan ungkapan biasa

Ungkapan biasa ialah alat pemadanan teks yang berkuasa yang boleh digunakan untuk memadankan rentetan dalam pelbagai format. Kita boleh menggunakan ungkapan biasa untuk mengalih keluar nombor di hadapan dan di belakang daripada rentetan. Kaedah khusus adalah seperti berikut:

$str = '123abc456';
$str = preg_replace('/^[\d]+|[\d]+$/', '', $str);

Dalam kod di atas, fungsi preg_replace() digunakan Parameter pertama ialah ungkapan biasa, parameter kedua ialah rentetan yang akan diganti, dan yang ketiga parameter kosong. String, menunjukkan untuk memadam kandungan yang dipadankan. Dalam ungkapan biasa, ^[d]+ sepadan dengan nombor pada permulaan rentetan, dan [d]+$ sepadan dengan nombor di hujung rentetan Gunakan simbol | untuk menggabungkan dua ungkapan biasa untuk mengalih keluar nombor di permulaan dan akhir.

Kelebihan kaedah ini ialah ia mudah, tetapi kelemahannya ialah ia mungkin tidak dapat memadankan beberapa format rentetan khas.

Kaedah 2: Gunakan fungsi substr()

Fungsi substr() dalam PHP digunakan untuk memintas rentetan yang ditentukan mengikut permulaan kedudukan dan panjang. Kita boleh menggunakan fungsi substr() untuk mengalih keluar nombor pertama dan terakhir dalam rentetan. Kaedah khusus adalah seperti berikut:

$str = '123abc456';
$len = strlen($str) - 1;
while (is_numeric(substr($str, $len, 1))) {
    $len--;
}
$str = substr($str, 0, $len + 1);
$start = 0;
while (is_numeric(substr($str, $start, 1))) {
    $start++;
}
$str = substr($str, $start);

Dalam kod di atas, mula-mula gunakan fungsi strlen() untuk mendapatkan panjang rentetan dan sediakan parameter untuk fungsi substr(). Kemudian gunakan gelung sementara untuk menentukan sama ada hujung rentetan ialah nombor Jika ia adalah nombor, teruskan memintasnya ke hadapan sehingga ia menemui aksara bukan angka. Kemudian gunakan fungsi substr() untuk memintas aksara bukan angka permulaan. Pembolehubah $str terakhir ialah rentetan selepas mengalih keluar digit pertama.

Kelebihan kaedah ini ialah ia mempunyai rangkaian aplikasi yang luas dan boleh mengendalikan pelbagai format rentetan Kelemahannya ialah kodnya agak panjang.

Kaedah 3: Gunakan fungsi intval()

Fungsi intval() dalam PHP digunakan untuk menukar rentetan kepada integer. Kita boleh menggunakan fungsi intval() untuk menukar rentetan kepada integer, dan kemudian menukar integer kepada rentetan dan membandingkannya untuk mengalih keluar digit di hadapan dan di belakang. Kaedah khusus adalah seperti berikut:

$str = '123abc456';
$start = 0;
while (intval(substr($str, $start, 1)) >= 0) {
    $start++;
}
$str = substr($str, $start);
$end = strlen($str) - 1;
while (intval(substr($str, $end, 1)) >= 0) {
    $end--;
}
$str = substr($str, 0, $end + 1);

Dalam kod di atas, mula-mula gunakan gelung sementara untuk menentukan sama ada permulaan rentetan ialah nombor Jika ia adalah nombor, undur ke belakang sehingga bukan-. aksara berangka ditemui. Kemudian gunakan fungsi substr() untuk memintas aksara bukan angka permulaan. Kemudian gunakan gelung sementara untuk menentukan sama ada penghujung rentetan ialah nombor Jika ia adalah nombor, rentas ke hadapan sehingga aksara bukan angka ditemui. Pembolehubah $str terakhir ialah rentetan selepas mengalih keluar digit pertama.

Kelebihan kaedah ini ialah kodnya ringkas, tetapi kelemahannya ialah ia mungkin tidak dapat mengendalikan beberapa format rentetan khas.

Ringkasnya, terdapat banyak cara untuk mengalih keluar nombor pertama dan terakhir daripada rentetan dalam PHP, dan kita boleh memilih kaedah yang sesuai mengikut keperluan khusus. Tidak kira kaedah mana yang digunakan, format rentetan harus dianalisis dan diuji secara terperinci untuk memastikan ketepatan dan kestabilan program.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nombor hadapan dan belakang daripada rentetan php. 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