我希望将所有数字单独存储在一个字符串中。整数必须单独出现并被白色空间包围。
这就是我的意思:
输入
blah 5 blah bl3h 555 blah 123 blah a2b3 5030a
预期输出
[5],[555],[123]
这是我尝试过的迭代器,它似乎正确地对当前单词进行分组,但没有向数组添加任何内容
cleanWord
答案 0 :(得分:3)
除非您特别需要使用循环,否则您可以在空间上进行爆炸并过滤掉每个不是数字的子字符串。
{{1}}
答案 1 :(得分:1)
您可以使用regular expressions。 \ d escape sequence将匹配主题字符串中的所有数字。
例如:
<?php
function get_numerics ($str) {
preg_match_all('/-?\.?(\d+((\.|,| )\d+)?)/', $str, $matches);
return $matches[0];
}
$one = 'foo bar 4 baz (5 qux quux)';
$two = 'bar baz 2 bar';
$three = 'qux bar 12 quux (3 foo)';
$four = 'foo baz 3 bar (13 quux foo)';
print_r(get_numerics($one));
print_r(get_numerics($two));
print_r(get_numerics($three));
print_r(get_numerics($four));