$str = 'ABC300';
我如何获得像
这样的值$alphabets = "ABC";
$numbers = 333;
答案 0 :(得分:1)
我有一个想法,首先从字符串中删除数字并保存在变量中。然后从$ str变量中删除字母并保存。试试代码
$str = 'ABC300';
$alf= trim(str_replace(range(0,9),'',$str));//removes number from the string
$number = preg_replace('/[A-Za-z]+/', '', $str);// removes alphabets from the string
echo $alf,$number;// your expected output
答案 1 :(得分:0)
一种方法是找到所有数字并使用数组将原始字符串替换为里面的数字。
例如
function extractDigits($string){
preg_match_all('/([\d]+)/', $string, $match);
return $match[0];
}
$str = 'abcd1234ab12';
$digitsArray = extractDigits($str);
$allAlphas = str_replace($digitsArray,'',$str);
$allDigits = '';
foreach($digitsArray as $digit){
$allDigits .= $digit;
}
答案 2 :(得分:0)
尝试这样的事情(它不那么快)......
$string = "ABCDE3883475";
$numbers = "";
$alphabets = "";
$strlen = strlen($string);
for($i = 0; $i <= $strlen; $i++) {
$char = substr($string, $i, 1);
if(is_numeric($char)) {
$numbers .= $char;
} else {
$alphabets .= $char;
}
}
然后所有数字都应该在$numbers
中,并且所有字母字符都应该在$alphabets
;)