我正在尝试格式化一些车牌 - 我需要找到字符串中的最后一个数字并在其后添加一个空格,例如
T4MAX = T4 MAX
T53TES = T53 TES
我假设我必须使用 preg_replace - 我已经尝试了以下方法来查找最后一位数字的字符串中的位置,但它返回一个空数组。
preg_match('/(0-9])/', $plate, $matches, PREG_OFFSET_CAPTURE);
有任何想法吗?
我正在尝试格式化一些车牌 - 我需要找到字符串中的最后一个数字并在其后添加一个空格,例如
T4MAX = T4 MAX
T53TES = T53 TES
我假设我必须使用 preg_replace - 我已经尝试了以下方法来查找最后一位数字的字符串中的位置,但它返回一个空数组。
preg_match('/(0-9])/', $plate, $matches, PREG_OFFSET_CAPTURE);
有任何想法吗?
这很容易:
$str = 'T4MAX';
$str_with_space = preg_replace('~\d(?=\D*$)~', '$0 ', $str);
在线演示:http: //ideone.com/Mqqqsh
正则表达式解释:
~\d(?=\D*$)~
表达式意味着 - 任何数字\d
后跟任何不是\D
字符串末尾的数字。