我有一个这样的数组,我想删除所有字母字符。
$testString = Array ([0] => 46_xsdfdsa_ddasdasd [1] => 23423_wrwerwer_ajbfdahbfkahflagassl);
echo preg_replace("/[^0-9,.]/", "", $testString);
输出应为46,23423。
我在上面尝试过它并没有用。
非常感谢
答案 0 :(得分:2)
这应该有效:
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.
答案 1 :(得分:1)
这对我有用
$testString = array(0 => '46_xsdfdsa_ddasdasd', 1 => '23423_wrwerwer_ajbfdahbfkahflagassl');
echo join(",",preg_replace("/[^0-9,.]/", "", $testString));
你工作的正则表达式 - 你只需要加入结果。
答案 2 :(得分:1)
$array = preg_replace("/[^0-9,.]/", "", $testString);
$string = implode(",", $array);
如果将数组传递给preg_replace
,它将返回数组而不是字符串,因此您需要将数据加载以使其成为字符串
答案 3 :(得分:0)
$testString = Array ( "0" => "46_xsdfdsa_ddasdasd" , "1" => "23423_wrwerwer_ajbfdahbfkahflagassl");
$result = preg_replace("/[^0-9,.]/", "", $testString);
print_r ($result);
它的工作!!