У меня есть алфавитно-цифровая строка, такая как 1234and5678
и 1234and5678
. Я хочу сохранить числа, предшествующие and
т.д. 1234
в одну переменную, а число после and
т.д. 5678
в другую переменную, как показано ниже:
$var1=1234;
$var2=5678;
также, что следует делать, если я заменяю and
некоторые случайные специальные символы, такие как #$%
и т.д.
Не могли бы вы помочь мне? Заранее спасибо.
$string = "1234and5678";
list($before, $after) = explode("and", $string);
Это разделяет строку на две переменные, основанные на делителе ("и"), независимо от того, что до и сохраняется в переменной с именем $before
, все, что после этого сохраняется в переменной с именем $after
Используйте регулярные выражения. Я предоставил ссылку для регулярных выражений в php. Сплит устарел с версии 5.3.0, и вы не должны полагаться на него. Регулярные выражения, совместимые с Perl
вы можете использовать функцию preg_split()
, в вашем случае: $var = preg_split("/[\D]+/", "1234and5678");
Это дает вам $var[0]
= '1234' и $var[1]
= '5678'
Согласно вам, вы можете:
$var = preg_split("/[\d]+/", "1234and5678");
для любого нечислового элемента)preg_match_all("/(\d+)/","1234and5678", $var)
чтобы найти любые цифры в вашей строкеИспользуйте split http://php.net/manual/en/function.split.php с разделителем "и". Это должно дать вам массив с двумя числами.