PHP rtrim 删除最后一个 Space 和后面的内容
PHP rtrim to Remove the Last Space and What Follows
在PHP中如何使用trim()或rtrim()删除最后一个space和后面的字符?
示例:
Any Address 23B
成为
Any Address
和
Another Address 6
成为
Another Address
你不能。 Trim 用于 space 和制表符等,或指定字符。你想要的是更具体的逻辑。
如果你想要上次的 space:
$lastSpace = strrpos($string, ' ');
$street = substr($string, 0, $lastSpace);
$number = substr($string, $lastSpace+1);
您也可以 implode
on space,使用 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
在PHP中如何使用trim()或rtrim()删除最后一个space和后面的字符?
示例:
Any Address 23B
成为
Any Address
和
Another Address 6
成为
Another Address
你不能。 Trim 用于 space 和制表符等,或指定字符。你想要的是更具体的逻辑。
如果你想要上次的 space:
$lastSpace = strrpos($string, ' ');
$street = substr($string, 0, $lastSpace);
$number = substr($string, $lastSpace+1);
您也可以 implode
on space,使用 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