2012-07-18 64 views
2

我怎么能分出字包含字母和数字分成两个部分的字符变量和变量的数量:分开字包含字母和数字分为两个部分

例如:

<? 
$x = "f25"; 
?> 

我想把这个字母写到一个新变量$ L =“f”; 和数字到另一个变量$ N = 25;

非常感谢

+1

请提供更多的信息:是它总是3个字符?总是字母,数字,数字? – 2012-07-18 12:39:25

回答

0
print_r(preg_split('#(?<=\d)(?=[0-9])#i', "f25")); 

打印

Array 
(
    [0] => 5 
    [1] => f 
) 
1

这可以preg_split()没有任何lookarounds通过传递适当的标志,以preg_split(),像这样来完成:

$x = "f25"; 
list($L, $N) = preg_split('/([a-z]+)/i', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); 
var_dump($L, $N); 

will output

string(1) "f" string(2) "25" 
+0

+1,或许它比我的答案更具可读性。 ) – raina77ow 2012-07-18 12:54:08

0

至于正则表达式的替代

$x = "f25"; 
list($L,$N) = sscanf($x,'%[A-Z]%d'); 
+0

谢谢all.It工作 – 2012-07-24 22:38:12

+0

谢谢all.It的工作 – 2012-07-24 22:41:12