簡體   English   中英

PHP rtrim 刪除最后一個空格和后面的內容

[英]PHP rtrim to Remove the Last Space and What Follows

在 PHP 中如何使用 trim() 或 rtrim() 刪除最后一個空格和后面的字符?

例子:

任何地址 23B

成為

任何地址

另一個地址 6

成為

另一個地址

你不能。 Trim 用於空格和制表符等,或指定字符。 你想要的是更具體的邏輯。

如果你想從最后一個空間得到它:

$lastSpace = strrpos($string, ' ');
$street = substr($string, 0, $lastSpace);
$number = substr($string, $lastSpace+1);

您也可以在空間上內implode ,使用array_pop獲取最后一個值,然后內implode ,但與substr相比,字符串操作的數組函數代價高昂。
您還可以使用正則表達式來獲取最后一個值,但雖然它比字符串的數組操作要好,但您應該將其用作計划 B,因為正則表達式也不是最輕量級的選項。

你為什么不使用正則表達式?

$address = 'Any Address 23B';
$matches = [];
preg_match('/(?P<street>.*) \w+$/', $address, $matches);

print_r($matches['street']); // OUTPUT: "Any Address"

如果您不想使用上面的答案,這里有一個沒有正則表達式的解決方案:


$string = 'Any Address 23B';
$stringRev = explode(' ', strrev($string), 2);
echo strrev($stringRev[1]);  //result: Any Address

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM