1

我如何从输入中分离字符和数字并将其存储为单独的变量 php 例如我的输入字符串是 as $str="abc567",我需要将其分隔为$str1="abc"and $str2="567"

4

5 回答 5

1

您可以使用 preg_split 使用lookahead 和 lookbehind

print_r(preg_split('#(?<=\d)(?=[a-z])#i', "abc567"));

印刷

Array
(
    [0] => abc
    [1] => 567
)

我希望这会有所帮助:) 问候。

于 2013-03-04T08:07:56.010 回答
1

通过使用preg_split,您可以传递正则表达式字符串。这将返回与给定正则表达式字符串匹配的所有模式,您可以使用它将各种值存储到它们各自的变量中。

注意这里没有代码;你应该尝试自己解决这些问题。

于 2013-03-04T08:08:00.130 回答
0

preg_split帮助你。

官方文档: http: //php.net/manual/en/function.preg-split.php

例子

echo "<pre>";
print_r(preg_split('#(?<=\d)(?=[a-z])#i', "abc567"));
echo "</pre>";

以上将输出。

Array
(
    [0] => abc
    [1] => 567
)
于 2013-03-04T08:07:21.143 回答
0

试试这个

$str="abc567";
preg_match_all('/(\d)|(\w)/', $str, $matches);
$numbers = implode($matches[1]);
$characters = implode($matches[2]);
于 2013-03-04T08:11:28.723 回答
0

如果您想要单独变量中的所有数字和所有字母,您可以使用:

$your_var = "abc567";
$str_letters = preg_replace('/[a-z]/', "", $your_var);
$str_numbers = preg_replace('/[0-9]/', "", $your_var);

请注意,如果 $your_var = abc7567d64h num = 756764 个字母 = abcdh

于 2013-03-04T08:11:47.300 回答