我需要在第一个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;
}
有什么建议吗?
答案 0 :(得分:2)
您可以使用preg_replace()
来实现此目标:
preg_replace('/^[^A-Za-z]*/', '', $str);
<强>解释强>
/
- 开始分隔符^
- “字符串开头”锚[^A-Za-z]
- 每个不是字母的字符(^
否定字符类)*
- 重复之前的数量一次或多次/
- 结束分隔符<强>可视化:强>
实际上,它取代了字符串开头和第一个没有字母的字母之间的所有内容(''
)。
答案 1 :(得分:0)
si la estructura es numero - texto
te propongo:
$cadena = explode ("-",$row['listingArea']);
$valor = ltrim ($cadena[1]);