我该如何删除任何"字"包括PHP中的破折号?

时间:2014-11-16 08:37:39

标签: php regex preg-replace

我有一个包含数据的数组,所以它会像:

array(27.42, 27.71, 26.61, 204.12 1995-1-17)

我想用破折号删除所有单词,以便我留下一个看起来像这样的数组:

array(27.42, 27.71, 26.61, 204.12)

这是一张确切数组的图片。

http://i.imgur.com/wDh7BIt.png

我使用正则表达式吗?什么是最好的方法。我尝试使用if函数替换包含" - "的所有单词。用" ",但它没有用。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

foreach ($array as $index=>$value)
{
 if (strstr($value,'-')) 
 {
  $ex=explode(" ",$value,2);
  $array[$index]=@$ex[0];
 }
}

只需遍历数组并检查值是否包含破折号... 请注意foreach是关联的,因此您将获得数组中值的索引,这就是您可以取消设置的原因。

答案 1 :(得分:0)

我的尝试:

<?php
$value = array(27.42, 27.71, 26.61, '204.12 1995-1-17');

$pattern = '/\s*\b\w*\-\w*\b/';

$result = preg_replace($pattern, '', $value);

var_dump($result);