正则表达式将.column替换为column



我想将a.column之类的字符串替换为column

我尝试过:

str_replace("/([a-z].)*(.+)/i", '$2', 'a.column')

但这行不通。

str_replace()不允许使用正则表达式。你把它和preg_replace():混淆了

echo preg_replace("/([a-z].)*(.+)/i", '$2', 'a.column');

这也可以在没有regex:的情况下完成

function split($table) 
{
   $array = explode(".", $table);
   $return = "";
   if (count($array) > 1)
   {
     for ($i=1; $i<count($array); $i++)
     {
       $return .= $array[$i].".";
     }
     $return = substr_replace($return, "", -1);
   }  else 
   {
      $return = $array[1];
   }
   return $return;
}

如果仅此而已,则字符串为:

$str = substr($str,strrpos($str,'.'));

else(适用于较大字符串中的"db.a.column"one_answers"a.column"):

$str = preg_replace('#(?:[^. ]+.)+([^. ]+)#','$1',$str);

试试这个:

  echo preg_replace("#([^.].)?([^.]+)#", '$2', 'a.column');
$str  = 'a.column dfsdfsdfsdf';
echo preg_replace("/[a-z].(.+)/i", '$1', $str);

最新更新