将一个数字与一个单词分开

时间:2013-07-30 02:32:59

标签: php regex string replace

基本上我有这个字符串:

"We spent 10minutes talking while traveling 20kms"

如何将其转换为:

"We spent 10 minutes talking while traveling 20 kms"

基本上分隔附加到单词的每个数字或数字。

2 个答案:

答案 0 :(得分:3)

你可以使用每个人的朋友,正则表达式!

$str = preg_replace("/\d+\B/", "$0 ", $str);

CodePad

这将匹配紧跟在它们后面的非字边界的一系列十进制数字。

或者,你可以这样做......

$str = preg_replace("/(\d)(\D)/", "$1 $2", $str);

CodePad

这将匹配紧跟在非十进制数字后面的十进制数字。

答案 1 :(得分:1)

这应该有效:

$str = preg_replace('/(\d)([a-z])/i', '$1 $2', $str);

\d匹配一个数字,[a-z]匹配一个字母。