在字母数字字符串中间添加空格
答
echo preg_replace("/([a-z]+)([0-9]+)/i", "$1 $2", "cs123"); // Outputs: cs 123
的情况下, “123cs”=> “123个CS”
echo preg_replace("/([0-9]+)([a-z]+)/i", "$1 $2", "123cs"); // Outputs: 123 cs
我们都可以结合起来:
$text = "cs123, 123cs";
$new_text = preg_replace("/([a-z]+)([0-9]+)/i", "$1 $2", $text);
$new_text = preg_replace("/([0-9]+)([a-z]+)/i", "$1 $2", $new_text);
// $new_text = "cs 123, 123 cs"
答
试试这个:
$阵列=使preg_split ('#(?< = [az])(?= \ d)#i',“cs123”)
它将在给定的字符串检查每一个字符,并在位置“前”元素是一个字母
(拆呢? < = [AZ])
和 '后' 元素是一个数字
(?= \ d)
那么你可以只破灭此数组以 '' 作为$ glue参数。
你可以使用['preg_replace()'](http://php.net/manual/en/function.preg-replace.php)匹配正则表达式,甚至通过循环['str_split ()'](http://php.net/manual/en/function.str-split.php)。无论如何,你的问题是离题,因为你没有表现出努力。尝试这些功能,如果你卡住了,然后尝试再次询问并添加代码示例。 – MonkeyZeus
它总是字符然后数字?或者它可以是char-num-char或任何其他序列? – Qirel