我如何从输入中分离字符和数字并将其存储为单独的变量 php 例如我的输入字符串是 as $str="abc567"
,我需要将其分隔为$str1="abc"
and $str2="567"
。
问问题
186 次
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 回答