$str = 'ABC300';
Как я могу получить значение какОтдельные буквы и цифры из строки
$alphabets = "ABC";
$numbers = 333;
$str = 'ABC300';
Как я могу получить значение какОтдельные буквы и цифры из строки
$alphabets = "ABC";
$numbers = 333;
У меня есть идея, первые удалить цифры из строки и сохранить в переменном. затем удалите алфавиты из переменной $ 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
Вам понадобится '[A-Za-z ] 'или модификатор' i'. – chris85
@ chris85: yes correct –
Способ сделать это, чтобы найти все цифры и использовать массив, чтобы заменить оригинальную строку цифрами внутри.
Например
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;
}
попробовать что-то вроде этого (это не так быстро) ...
$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
;)
Будет ли образец a всегда будет 3 номера, за которыми следуют 3 буквы? – Ohgodwhy
'$ alphabets = ABC;' если вы не хотите, чтобы это оценивалось как константа, вы, вероятно, имели в виду '$ alphabets =" ABC ";' –
@Ohgodwhy: Нет, он будет динамичным. В конце алфавиты будут начинаться с угловых чисел. – amitshree