在PHP中的字符串中的第一个alpha char之前删除所有字符

时间:2014-01-16 18:06:58

标签: php

我需要在第一个alpha char之前删除字符串中的所有字符,即

"216 - Viera/Suntree N of Wickham/50" 
"384-Indialantic/Melbourne Beach"

需要返回

"Viera/Suntree N of Wickham/50"
"Indialantic/Melbourne Beach"

这是我的第一次尝试......虽然有效,但在我看来很难看......

  $aListArea = str_split($row['listingArea']);
  $done=false;
  $stg=array();

  for ($i=0;$i<strlen($row['listingArea']);$i++) {
    if (!ctype_alpha($aListArea[$i]) && $done==false) {
      continue;
    }
    else {
      $stg[]=$aListArea[$i];
      $done=true;
    }

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您可以使用preg_replace()来实现此目标:

preg_replace('/^[^A-Za-z]*/', '', $str);

<强>解释

  • / - 开始分隔符
  • ^ - “字符串开头”锚
  • [^A-Za-z] - 每个不是字母的字符(^否定字符类)
  • * - 重复之前的数量一次或多次
  • / - 结束分隔符

<强>可视化:

enter image description here

实际上,它取代了字符串开头和第一个没有字母的字母之间的所有内容('')。

Demo

答案 1 :(得分:0)

si la estructura es numero - texto

te propongo:

$cadena = explode ("-",$row['listingArea']);
$valor = ltrim ($cadena[1]);
相关问题