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