需要从数组中删除所有字母数字字符


Need to remove all AlphaNumeric characters from an array

我有一个这样的数组,我想去掉所有的alpha字符。

 $testString = Array ([0] => 46_xsdfdsa_ddasdasd [1] => 23423_wrwerwer_ajbfdahbfkahflagassl);
    echo preg_replace("/[^0-9,.]/", "", $testString);

输出应为4623423。

我试过了,但没用。

提前感谢

这应该有效:

echo preg_replace("/[a-zA-Z0-9]/", "", $testString);

仅供参考,字母数字的意思是字母+数字字符。从你的问题标题来看,你似乎暗示你想把它们全部替换掉。让我们知道这是否适合你。


如果在输出中你只想要数字,.,这就是你要做的:

echo preg_replace("/[^'d,.]/", "", $testString);

示例:

$str = '23,423_.wrwerwer_ajbfdahbfkahflagassl';
echo preg_replace("/[^'d]/", "", $str); // result: 23,423.

工作示例

这适用于我的

$testString = array(0 => '46_xsdfdsa_ddasdasd', 1 => '23423_wrwerwer_ajbfdahbfkahflagassl');
echo join(",",preg_replace("/[^0-9,.]/", "", $testString));

您所拥有的regexp是有效的——您只需要将结果连接起来。

$array = preg_replace("/[^0-9,.]/", "", $testString);
$string = implode(",", $array);

如果将数组传递给preg_replace,它将返回数组而不是字符串,因此需要内爆数据以使其成为字符串

$testString = Array ( "0" => "46_xsdfdsa_ddasdasd" , "1" =>   "23423_wrwerwer_ajbfdahbfkahflagassl");
$result = preg_replace("/[^0-9,.]/", "", $testString);
print_r ($result);

它起作用了!!