查找字符串中最后一位数字的位置


Finding position of last digit in string

我正在尝试格式化一些号牌-我需要在字符串中找到最后一个数字并在其后面添加一个空格,例如

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