在数字前后添加space
Add space before and after a number
我正在尝试在字符串中的任何数字前后添加 space。
例如,如果我有 JS35BX54NV33,我将得到 JS 35 BX 54 NV 33
我正在使用这个:
preg_replace("/(\d)([a-z])/i", " ", $mystring)
但它只在每个数字后添加 space。
感谢您的帮助!
只需尝试,
<?php
$re = '/(\d+)/m';
$str = 'JS35BX54NV33';
$subst = ' ';
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
?>
工作演示: https://3v4l.org/N6rSK。
使用环视查找您希望在其中插入空格的零宽度位置。不需要捕获组。
\d
匹配数字字符。
\D
匹配一个非数字字符。
(?<=...)
往后看
(?=...)
展望未来
代码:(Demo)
$mystring = 'JS35BX54NV33';
var_export(preg_replace('/(?<=\D)(?=\d)|(?<=\d)(?=\D)/', ' ', $mystring));
输出:
'JS 35 BX 54 NV 33'
var_export()
用于显示没有生成前导或尾随空格。
我正在尝试在字符串中的任何数字前后添加 space。 例如,如果我有 JS35BX54NV33,我将得到 JS 35 BX 54 NV 33
我正在使用这个:
preg_replace("/(\d)([a-z])/i", " ", $mystring)
但它只在每个数字后添加 space。
感谢您的帮助!
只需尝试,
<?php
$re = '/(\d+)/m';
$str = 'JS35BX54NV33';
$subst = ' ';
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
?>
工作演示: https://3v4l.org/N6rSK。
使用环视查找您希望在其中插入空格的零宽度位置。不需要捕获组。
\d
匹配数字字符。\D
匹配一个非数字字符。(?<=...)
往后看(?=...)
展望未来
代码:(Demo)
$mystring = 'JS35BX54NV33';
var_export(preg_replace('/(?<=\D)(?=\d)|(?<=\d)(?=\D)/', ' ', $mystring));
输出:
'JS 35 BX 54 NV 33'
var_export()
用于显示没有生成前导或尾随空格。