2017-03-31 129 views
0

我有一个类似于cs123的字符串,我想在PHP中的中间字母数字值中添加空格。有什么功能可以专门在PHP中执行此操作吗?在字母数字字符串中间添加空格

cs123,我想cs 123

+1

你可以使用['preg_replace()'](http://php.net/manual/en/function.preg-replace.php)匹配正则表达式,甚至通过循环['str_split ()'](http://php.net/manual/en/function.str-split.php)。无论如何,你的问题是离题,因为你没有表现出努力。尝试这些功能,如果你卡住了,然后尝试再次询问并添加代码示例。 – MonkeyZeus

+1

它总是字符然后数字?或者它可以是char-num-char或任何其他序列? – Qirel

回答

0
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" 
0

试试这个:

$阵列=使preg_split ('#(?< = [az])(?= \ d)#i',“cs123”)

它将在给定的字符串检查每一个字符,并在位置“前”元素是一个字母

(拆呢? < = [AZ])

和 '后' 元素是一个数字

(?= \ d)

那么你可以只破灭此数组以 '' 作为$ glue参数。